UINavigationController:如何管理取消按钮和返回按钮

Posted

技术标签:

【中文标题】UINavigationController:如何管理取消按钮和返回按钮【英文标题】:UINavigationController: How to manage Cancel button and back button 【发布时间】:2011-08-18 09:15:31 【问题描述】:

假设我有两个控制器 A 和 B...当我从 A 导航到 B 时,B 控制器上的后退按钮将是 A。

所以我的问题是...在单击按钮时,我必须将 backButton 更改为 Cancel Button.. 而在另一个后退按钮上,它应该以后退按钮箭头样式显示 backButton A。

请提出建议。

【问题讨论】:

【参考方案1】:

执行以下操作,

显示取消按钮:

- (void)showCancelButton 

    UIBarButtonItem *cancelButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(someMethod)];
    [self navigationItem] setLeftBarButtonItem:cancelButton];
    [cancelButton release];

隐藏取消按钮:

- (void)hideCancelButton 

    [self navigationItem] setLeftBarButtonItem:nil];

确保 self.navigationController.navigationItem.hidesBackButtonNO

【讨论】:

以上是关于UINavigationController:如何管理取消按钮和返回按钮的主要内容,如果未能解决你的问题,请参考以下文章

如何自定义 UINavigationController?

如何扩展 UIView 过去包含 UINavigationController

如何从 UINavigationController 隐藏 UINavigationBar?

UINavigationController如何设置标题

如何在 UINavigationController 中嵌入 UITabBarController?

iOS中如何自动回调UINavigationController的BackItem?