iOS 在 UINavigationController 项中显示箭头后退按钮
Posted
技术标签:
【中文标题】iOS 在 UINavigationController 项中显示箭头后退按钮【英文标题】:iOS Display arrow back button in UINavigationController item 【发布时间】:2011-12-05 18:56:14 【问题描述】:我想在单击 UINavigationController 项上的后退按钮时收到通知。所以,我创建了一个自定义 UIBarButtonItem
UIBarButtonItem *leftBarButton = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"SettingsTabTitleKey", @"") style:UIBarButtonItemStyleBordered target:self action:@selector(settingsButtonPushed:)];
self.navigationItem.leftBarButtonItem = leftBarButton;
但是,显示的按钮是矩形的,不像其他后退按钮那样有箭头。无论如何,我可以显示正确的后退按钮或任何可以找到 .png 的地方吗?
【问题讨论】:
【参考方案1】:为了保留箭头样式的按钮,我通常这样做:
self.navigationItem.backBarButtonItem = myCustomUIButton;
而不是设置 leftBarButtonItem。
但是,这必须在视图控制器的 viewDidLoad: 方法中完成,该方法将视图控制器推送到您希望按钮出现的位置。所以你在按下下一个视图控制器之前设置后退按钮......
您还可以通过在视图控制器的 viewWillDisappear: 方法中添加一些行为来获得后退按钮被按下的通知。
【讨论】:
如果我将按钮添加到前一个 NavigationControllerItem 的 backBarButtonItem,我是否可以将委托设置为在按钮单击时调用? viewWill Disappear 在 ios 4.3 中不会被调用,但在 iOS 5.0 中会被调用,这就是我无法使用它的原因。以上是关于iOS 在 UINavigationController 项中显示箭头后退按钮的主要内容,如果未能解决你的问题,请参考以下文章
在 UINavigationController 中设置自定义导航栏类
在 UINavigationController 中设置自定义导航栏类
在 Swift 2.0 中设置 UINavigationController 栏标题
UINavigationController -> UIViewController -> UIView -> UITableViewController?