【问题标题】:Force show back button in UINavigationBar without Navigation Controller在没有导航控制器的 UINavigationBar 中强制显示后退按钮
【发布时间】:2015-03-30 00:46:16
【问题描述】:
我有一个View Controller,其中有一个UINavigationBar,我想在导航栏中显示后退按钮。我使用View Controller 而不是Navigation Controller 的原因是因为我使用自定义动画在视图之间切换。后退按钮将用于从第二个视图开始后退动画。
无论如何,我有什么方法可以强制在UIViewController 中显示带有导航栏的后退按钮,而无需创建要在UIBarButtonItem 中使用的图标
【问题讨论】:
标签:
ios
uiviewcontroller
uinavigationbar
【解决方案1】:
您是在为实际视图制作动画,还是ViewControllers?使用导航控制器和编写自定义 segue 在 viewControllers 之间制作动画是完全可行的。那么添加自定义后退按钮就没有问题了。
使用自定义segue的唯一缺点是navigationBar上的动画消失了,导致标题和后退按钮的外观突然“变化”。
无论如何,您可以使用以下代码将自己的按钮添加到navigationBar:
yourNavigationBar.topItem.leftBarButtonItem = [[UIBarButtonItem alloc]initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:self action:@selector(backButtonPressed)];
不要忘记实现backButtonPressed 方法。
它不包括典型的“后退”箭头,但您可以通过向按钮添加图像来解决此问题,或者只需创建自定义视图并将其包含在导航栏中。