我的桌面和导航栏位于顶部。
我的导航栏左侧有一个编辑按钮,代码如下。
self.navigationItem.leftBarButtonItem = self.editButtonItem;
当我点击编辑按钮时,它会变为完成按钮。到目前为止一切都很好。
如果我想在单击完成按钮时执行小操作,我在哪里添加代码。?
答案 0 :(得分:55)
使用self.editButtonItem.action = @selector(editClicked:);
你应该做的是在你自己的控制器类中覆盖UIViewController的setEditing方法:
- (void)setEditing:(BOOL)editing animated:(BOOL)animated
{
[super setEditing:editing animated:animated];
if(editing == YES)
{
// Your code for entering edit mode goes here
} else {
// Your code for exiting edit mode goes here
}
}
您还需要在故事板中将UIBarButtonItem设置为“Edit”,或者如果您更喜欢在代码中执行此操作,请使用以下命令:
- (void)viewDidLoad {
[super viewDidLoad];
self.navigationItem.rightBarButtonItem = self.editButtonItem;
}
editButtonItem是系统已设置的助手属性,以方便您使用。
答案 1 :(得分:6)
这是我使用的Swift版本:
override func setEditing(editing: Bool, animated: Bool) {
super.setEditing(editing, animated: animated)
if editing {
} else {
}
}
答案 2 :(得分:0)
那就是我在Swift 4上所做的:
这是viewDidLoad()中的创建栏按钮:
ngOnInit() {
//subscribe does not exist on type void came up when no return on get
this.firestore.getRoom().subscribe((room: Room[]) => {
this.arr = room;
console.log(this.arr);
});
}
在viewDidLoad()下面添加覆盖setEditing():
// init barbutton and set default to true
self.navigationItem.rightBarButtonItem = self.editButtonItem
super.isEditing = true