以下是在系统语言设置中找到的条形按钮行为:
1.按下编辑栏按钮时,后退栏按钮将被取消栏按钮取代。
1.当按下完成栏按钮时,取消栏按钮将被返回栏按钮取代。
我使用UIViewController
。
在编辑栏按钮和完成栏按钮之间切换没有问题。
但是,我不确定如何在后退栏按钮和取消栏按钮之间切换。
你能指导我如何做到这一点吗?
这是我的代码片段。
class NewViewController: UIViewController {
@IBOutlet weak var editBarButtonItem: UIBarButtonItem!
private var editMode: Bool = false
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func editButtonClick(_ sender: Any) {
if editMode {
editBarButtonItem.title = "Edit"
// TOD: How to provide a back bar button item at top left?
} else {
editBarButtonItem.title = "Done"
// TOD: How to provide a "Cancel" bar button item at top left?
}
editMode.toggle()
}
}
1条答案
按热度按时间rjee0c151#
首先,不要创建自己的编辑/完成按钮。
UIViewController
对此提供了内置支持。editButtonItem
为您提供。它在“编辑”和“完成”之间切换。点击时,它调用UIViewController
方法setEditing:animated:
,并切换isEditing
属性。您所需要做的就是覆盖该方法来添加/删除“取消”按钮。在
UITableViewController
中,使用内置特性来支持标准的Edit/Done按钮甚至更有用,因为表视图控制器会自动设置其表视图的isEditing
属性。您的问题中的设置屏幕正在使用UITableViewController
。