引用UINavigationBar上的后退按钮

时间:2015-08-18 15:29:45

标签: ios swift uinavigationbar uinavigationitem

我需要引用for( int i = 1; i < 4; ++i) { //verify i version 1 int i2 = i * -1; // verify i2 version 2 } UINavigationBar中的后退按钮。下图中的UINavigationItem按钮。

Navigation Bar

我没有自定义按钮,因此

Back

这两者都是零。

有没有办法在不自定义按钮的情况下获取按钮的引用?

参考:

更新:我的comment可能有助于理解为什么我不想自定义后退按钮。 :)

4 个答案:

答案 0 :(得分:6)

Documentation说这个关于backBarButtonItem:

  

当此项目是导航栏的后退项目时 - 当它是   顶部项目下方的下一个项目 - 它可以表示为后退按钮   导航栏。使用此属性指定后退按钮。该   默认值是显示导航项标题的按钮。

因此默认情况下backBarButtonItem始终为nil,因为它属于上一个视图控制器。获得非零引用的唯一方法是通过自定义它。

但是,如果您只想更改名称,可以在之前的View Controller中完成。

答案 1 :(得分:1)

参考我的用例 - Ayush's comment

直到我得到具体解决方案的时候,我在导航栏下方(后面的按钮下方)创建了一个虚拟视图来显示提示。这是代码。

let v = UIView(frame: CGRectMake(0, 0, 50, 0))
view.addSubview(v)
let tipText = "Here it the back button"
EasyTipView.showAnimated(true,
  forView: v,
  withinSuperview: view,
  text:tipText,
  preferences: nil,
  delegate: self)

答案 2 :(得分:1)

尝试这个

let backItem = UIBarButtonItem(title: "Custom Text HERE", style: .Bordered, target: nil, action: nil)
navigationItem.backBarButtonItem = backItem

答案 3 :(得分:1)

试试这可能对你有帮助。

 UINavigationItem *i = [self.navigationController.navigationBar.items firstObject];
    i.title = @"Hai";