导航栏控制器中的自定义后退按钮

Posted

技术标签:

【中文标题】导航栏控制器中的自定义后退按钮【英文标题】:Custom back button in Navigation Bar Controller 【发布时间】:2013-10-22 16:39:11 【问题描述】:

我自定义了导航控制器的后退按钮,以便在按下它时做出具体的动作。 我这样做:

self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]
                                             initWithTitle:@"Atrás"
                                             style:UIBarButtonItemStyleBordered
                                             target:self
                                             action:@selector(pop)];

现在,我需要在我的自定义按钮中放置相同的后退箭头,因为其余按钮是默认的后退按钮。有没有任何方法可以在没有图像的情况下完成这些操作?

【问题讨论】:

【参考方案1】:

如果您使用 UINavigationController,并通过它推送所有视图,您将获得默认的 ios 后退按钮样式。如果您只是使用自己添加到视图中的 UINavigationBar,则由您来创建该按钮的样式。为了与 UINavigationController 匹配,您可能不得不求助于图像。

【讨论】:

我正在使用故事板中的导航控制器。如您所说,我如何获得默认样式? 如果您使用的是 UINavigationController,您的后退按钮应该具有默认外观。如果您要创建一个自定义按钮来替换后退按钮,那么您只能靠自己了。 好的,我自定义后退按钮的原因是我需要在按下按钮时执行具体操作。我发现了另一种方法来执行这些操作,我在 ViewWillDesapear 中输入了我想要运行的方法以及当我转到下一个视图时这些方法不运行时的异常条件。谢谢!

以上是关于导航栏控制器中的自定义后退按钮的主要内容,如果未能解决你的问题,请参考以下文章

如何让自定义导航控制器为每个故事板提供相同的自定义导航栏按钮

导航栏上的自定义后退按钮不起作用

按下后退按钮时的自定义动画 - iOS

使用LeftBarButtonItems ios中的自定义按钮创建默认后退按钮

导航栏中的 Swift 自定义后退按钮

IOS - 垂直对齐导航栏中的后退按钮