UIViewController 的 editButtonItem
在 RxSwift 的实例 TableViewWithEditingCommands 当中,有下面的代码:
override func viewDidLoad() {
super.viewDidLoad()
self.navigationItem.rightBarButtonItem = self.editButtonItem
}
点击 ViewController 的 editButtonItem 的定义的时候,才发现 UIViewController 的扩展,原来 UIViewController 已经实现了 editButtonItem 的相关实现。
extension UIViewController {
open var isEditing: Bool
open func setEditing(_ editing: Bool, animated: Bool)
open var editButtonItem: UIBarButtonItem { get }
}
在需求比较简单的时候,就可以直接使用 UIViewController 的这个扩展当中的 editButtonItem。override UIViewController 中的 setEditing 方法,就可获取到编辑状态的更改。
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
self.navigationItem.rightBarButtonItem = self.editButtonItem
}
override func setEditing(_ editing: Bool, animated: Bool) {
super.setEditing(editing, animated: animated)
debugPrint("\(editing ? "开始编辑" : "结束编辑")")
}
}
| edit | done |
|---|---|
![]() | ![]() |
本文深入探讨了UIViewController中editButtonItem的使用方法,展示了如何通过RxSwift实例TableViewWithEditingCommands中的代码来实现编辑功能。通过覆盖setEditing方法,可以轻松地监控编辑状态的变化。


1166

被折叠的 条评论
为什么被折叠?



