如何设置系统的后退按钮(backBarButtonItem)选择器?

时间:2017-06-28 02:48:43

标签: ios swift

Systems back button on the navigation bar.
我希望导航栏上的这个系统按钮有两个不同的动作。

 1. navigationController?.popViewController当设备方向为纵向作为默认操作时  2.当设备方向为横向时,将设备方向旋转为纵向。 UIDevice.current.setValue(UIInterfaceOrientation.portrait.rawValue, forKey: "orientation")


我可以通过创建一个新的UIBarButtonItem并将其设置为navigationItem.leftBarButtonItem来实现。

但它没有系统的左箭头图像和本地化字符串。 我需要这个按钮有系统的左箭头图像,并且本地化字符串就像系统提供的那样。

我尝试设置

之类的动作
navigationController?.navigationBar.backItem?.backBarButtonItem?.action = #selector(self.backToPortrait)

这不行。

那么如何设置后退按钮的动作呢?

1 个答案:

答案 0 :(得分:1)

您无法向该系统后退按钮添加操作。有两种选择。

  1. 创建自己的后退按钮。 Here就是一个例子

  2. 不是管理方向更改,而是将以前的视图控制器锁定为仅限纵向模式。所以它可以为你做自动轮换,比如this