用自定义按钮替换左侧导航按钮,然后返回

时间:2013-01-27 18:19:39

标签: ios uinavigationbar uinavigationitem

我在UITableView内有一个UINavigationController。在UINavigationBar的右侧,我有一个“编辑”按钮。当我点击此按钮时,表格单元格中的所有文本字段都会被激活,因此我可以对其进行编辑。右键改为“保存”。

我现在想要将UINavigationController的左侧“后退”按钮替换为“取消”按钮,当我点按时该按钮不会让我回到之前的UIViewController,但是只是取消编辑模式。

当我点按“保存”时,“取消”按钮应更改回通常的UINavigationController后退按钮。有没有简单的方法来做到这一点?我尝试访问[[self navigationItem] leftBarButtonItem]。这适用于右键,但不适用于左键。

3 个答案:

答案 0 :(得分:3)

leftBarButtonItem设置为“取消”按钮。在适当的时候,将leftBarButtonItem设置为nil以删除“取消”按钮。这将自动恢复添加“取消”按钮之前的原始后退按钮。

答案 1 :(得分:2)

听起来leftBarButtonItem是一个“BackButton”,它在用于导航到当前视图的UIView(Controller)上设置。

您可以在this question中的答案后隐藏BackButton。应该这样做,因为你无法改变它的行为。

我相信你可以use the leftBarButtonItem

答案 2 :(得分:0)

请参阅this other SO question

然后确保声明与此类似的取消方法。

(void)cancel:(id)sender {
   [self.navigationController popViewControllerAnimated:YES];
}