[英]UIViewController isEditing - Property observer doesn't work
我試圖在我的自定義 UIViewController 上實現屬性觀察器,但我注意到它不適用於 isEditing 屬性。
你們知道為什么嗎?
class MasterViewController: UIViewController {
// MARK: - Properties
override var isEditing: Bool {
didSet {
print("VC is editing")
}
}
}
根據isEditing
的文檔
如果已顯示視圖,請使用setEditing(_:animated :)方法作為操作方法來動畫化此狀態的過渡。
並從setEditing(_:animated:)
如果isEditing為true,則使用edit-done按鈕的子類必須重寫此方法,以將其視圖更改為可編輯狀態;如果為false,則將其視圖更改為不可編輯狀態。 此方法應在更新其視圖之前調用super的實現。
TL; DR
您將要改寫setEditing(_:animated:)
。
它適用於那些無法找到 setEditing 工作原理示例的人。
SWIFT 5:
override func setEditing(_ editing: Bool, animated: Bool) {
if yourTableView.isEditing == true {
yourTableView.isEditing = false //change back
} else {
yourTableView.isEditing = true // activate editing
editButtonItem.isSelected = true // select edit button
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.