4

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

我现在希望将左侧的“后退”按钮UINavigationController替换为“取消”按钮,当我点击它时不会让我回到上一个UIViewController,而只是取消编辑模式。

当我点击“保存”时,“取消”按钮应该变回通常的UINavigationController后退按钮。有什么简单的方法可以做到这一点?我尝试访问[[self navigationItem] leftBarButtonItem]. 这适用于右侧按钮,但不适用于左侧按钮。

4

3 回答 3

3

设置leftBarButtonItem为您的取消按钮。在适当的时候,将 设置leftBarButtonItemnil删除您的取消按钮。这将自动恢复添加取消按钮之前的原始返回按钮。

于 2013-01-27T18:55:53.727 回答
2

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

您可以在此问题的答案之后隐藏 BackButton 。应该这样做,因为您无法更改它的行为。

我相信您可以使用 leftBarButtonItem

于 2013-01-27T18:47:27.937 回答
0

请参阅其他 SO question

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

(void)cancel:(id)sender {
   [self.navigationController popViewControllerAnimated:YES];
} 
于 2013-09-25T18:42:42.587 回答