【问题标题】:Why is button and title not showing up on navigation bar when I add them programmatically?当我以编程方式添加按钮和标题时,为什么按钮和标题没有显示在导航栏上?
【发布时间】:2016-01-02 04:27:38
【问题描述】:

我尝试使用按钮和标题以编程方式制作导航栏。出于某种原因,导航栏出现了,但按钮和标题没有出现。你如何解决这个问题?

    // Create the navigation bar
    let navigationBar = UINavigationBar(frame: CGRectMake(0, 0, 500, 200))

    //Create navigation bar's title
    self.navigationController?.navigationBar.topItem?.title = "Edit"

    //Create back button
    let backBtn = UIButton(type: UIButtonType.Custom)
    let backButtonItem = UIBarButtonItem(customView: backBtn)
    self.navigationItem.leftBarButtonItem = backButtonItem

    //Add navigation bar to view
    self.view.addSubview(navigationBar)

【问题讨论】:

  • 为什么不将视图控制器嵌入到导航控制器中?

标签: swift uinavigationbar uibarbuttonitem navigationbar


【解决方案1】:

对于您的问题,由于您没有将视图控制器嵌入到导航控制器中,因此您的所有设置都没有意义

self.navigationController? = nil & 
self.navigationItem.leftBarButtonItem //there's no navigationcontroller made no sense

你需要做的是,在适当的时候将 vc 嵌入到导航控制器中

let navVC = UINavigationController(rootViewController: vc)

然后你可以导航控制器并设置所有东西

【讨论】:

  • 我试着听从你的建议。我在我的 AppDelegate 中将“ViewController”分配为导航控制器(在我的应用程序中,有一个名为“ViewController”的视图控制器连接到“editViewController”),但我仍然收到错误。
  • @Amanda 错误是什么?然后是在 NavigationController 中嵌入 vc 的几种方法,也许你可以参考 link 来纠正
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-12-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多