以编程方式将条形按钮添加到导航栏

时间:2015-12-20 07:15:11

标签: ios swift

我想当我点击按钮时,它会显示一个导航栏。但是我添加的按钮,它没有显示。

这是我的代码:

@IBAction func handleCommentsCountButtonTap(sender: AnyObject) {
    let storyboard = UIStoryboard(name: "Main", bundle: nil)
    let loginVC = storyboard.instantiateViewControllerWithIdentifier("LoginViewController") as! LoginViewController
    let navigation = UINavigationController(rootViewController: loginVC)
    let backButton = UIBarButtonItem(title: "Back", style: UIBarButtonItemStyle.Plain, target: navigation, action: "backAction")
    navigation.navigationItem.leftBarButtonItem = backButton

    self.presentViewController(navigation, animated: true, completion: nil)
  }

2 个答案:

答案 0 :(得分:1)

添加答案,因为我找不到这个问题的副本。

您可以使用:

navigation.navigationBar.topItem.leftBarButtonItem = backButton

答案 1 :(得分:1)

navigationItem是一个UIViewController属性,Apple navigationItem的文档说

  

按需创建,以便视图控制器可以自定义它   导航外观。

这意味着设置导航项按钮的正确位置在各自的视图控制器中。 所以你应该在

上设置导航项按钮
    loginVC.navigationItem.leftBarButtonItem = backButton

或直接在LoginViewController' viewDidLoad

    self.navigationItem.leftBarButtonItem = backButton

使用topItem建议的评论和答案有效,因为topItem间接访问了顶级视图控制器的导航项。