【发布时间】:2019-01-17 10:04:57
【问题描述】:
我有一个 Edit/Done UIBarButtonItem,并且在同一个视图中还有一个取消按钮。
如果用户在编辑模式下点击取消按钮,我想将编辑按钮设置回其原始状态。
但我看不到以编程方式更改 UIBarButtonItem 状态的任何方式。这可以做到吗?或者有没有其他方法可以达到同样的效果?
【问题讨论】:
标签: iphone cocoa-touch
我有一个 Edit/Done UIBarButtonItem,并且在同一个视图中还有一个取消按钮。
如果用户在编辑模式下点击取消按钮,我想将编辑按钮设置回其原始状态。
但我看不到以编程方式更改 UIBarButtonItem 状态的任何方式。这可以做到吗?或者有没有其他方法可以达到同样的效果?
【问题讨论】:
标签: iphone cocoa-touch
经过更多研究,事实证明正确的方法是更改视图控制器上的编辑状态。我试图单独更改表格视图的编辑状态和“编辑/完成”按钮。相反,当用户在编辑模式下点击取消按钮时,只需在处理取消按钮时执行此操作:
if (self.editing) {
self.editing = NO;
}
这将改变 tableView 和 Edit/Done 按钮的状态,因此下次显示视图时,视图会重置为正常(非编辑)状态。
【讨论】:
只是更改标题并自己拥有一个 BOOL 来存储按钮的当前状态怎么样?像这样:
- (IBAction)cancelPressed {
self.isBarButtonEditing = !self.isBarButtonEditing;
if (self.isBarButtonEditing) {
self.title = @"Done";
}
}
【讨论】: