编辑时如何用导航控制器中的另一个 UIBarButtonItem 替换后退按钮?

Posted

技术标签:

【中文标题】编辑时如何用导航控制器中的另一个 UIBarButtonItem 替换后退按钮?【英文标题】:How do I replace the back button with another UIBarButtonItem in a navigation controller when editing? 【发布时间】:2009-12-11 03:43:40 【问题描述】:

我有一个标准的 UINavigationController 设置。一个特定的视图在导航栏的右侧显示一个“编辑”按钮。当按下该按钮并且视图切换到编辑模式时,我想用“添加”按钮替换左侧的“返回”按钮。当然,编辑完成后(用户按下“完成”)左侧的按钮应该再次变为返回按钮。

【问题讨论】:

【参考方案1】:

显而易见的答案有效。假设你已经声明了一个名为 addButton 的 UIBarButtonItem,你可以实现 setEditing:animated: 如下:

- (void)setEditing:(BOOL)editing animated:(BOOL)animated 
    [super setEditing:editing animated:animated];

    if(editing) 
        self.navigationItem.leftBarButtonItem = addButton;
     else 
        self.navigationItem.leftBarButtonItem = self.navigationItem.backBarButtonItem;
    

【讨论】:

以上是关于编辑时如何用导航控制器中的另一个 UIBarButtonItem 替换后退按钮?的主要内容,如果未能解决你的问题,请参考以下文章

导航并将字符串传递给嵌入在 TabVC 和 NavigationVC 中的另一个 VC

嵌入 UINavigationController 时如何处理 UIView 区域减少的问题

MVC创建表单加载时如何用一些数据填充文本区域?

使用jquery mobile时如何处理手机中的表单导航后退按钮

使用 org-indent-mode 时如何用适当的缩进包装列表?

聚焦时如何用图像填充 LWUIT 按钮?