在没有导航控制器的 UINavigationBar 中强制显示后退按钮

Posted

技术标签:

【中文标题】在没有导航控制器的 UINavigationBar 中强制显示后退按钮【英文标题】:Force show back button in UINavigationBar without Navigation Controller 【发布时间】:2015-03-30 00:46:16 【问题描述】:

我有一个View Controller,其中有一个UINavigationBar,我想在导航栏中显示后退按钮。我使用View Controller 而不是Navigation Controller 的原因是因为我使用自定义动画在视图之间切换。后退按钮将用于从第二个视图开始后退动画。

无论如何,我有什么方法可以强制在UIViewController 中显示带有导航栏的后退按钮,而无需创建要在UIBarButtonItem 中使用的图标

【问题讨论】:

【参考方案1】:

您是在为实际视图制作动画,还是ViewControllers?使用导航控制器和编写自定义 segue 在 vi​​ewControllers 之间制作动画是完全可行的。那么添加自定义后退按钮就没有问题了。

使用自定义segue的唯一缺点是navigationBar上的动画消失了,导致标题和后退按钮的外观突然“变化”。

无论如何,您可以使用以下代码将自己的按钮添加到navigationBar

yourNavigationBar.topItem.leftBarButtonItem = [[UIBarButtonItem alloc]initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:self action:@selector(backButtonPressed)];

不要忘记实现backButtonPressed 方法。 它不包括典型的“后退”箭头,但您可以通过向按钮添加图像来解决此问题,或者只需创建自定义视图并将其包含在导航栏中。

【讨论】:

它是 ViewControllers 之间的动画,这是示例 zappdesigntemplates.com/… 我只是不知道如何使用 segue 实现相同的目标

以上是关于在没有导航控制器的 UINavigationBar 中强制显示后退按钮的主要内容,如果未能解决你的问题,请参考以下文章

显示 UINavigationBar 不起作用

为啥我的 UINavigationBar 不会动画?

iOS 右导航按钮不显示在 UINavigationBar

如何防止在横向上自动调整 UINavigationBar 的大小

UINavigationBar 使用灵活的空间来均匀分布栏按钮项

如何为整个应用自定义 UINavigationBar?