我有一个带 Headers 的导航栏 . 当我双击文本来重命名它时,它实际上说它是一个导航项,所以可能就是这样 .
我正在尝试使用代码更改文本,例如:
declare navigation bar as navagationbar here button stuff { navigationbar.text = "title" }
那显然不是我的代码,只是展示它是如何工作的 .
所以,每当我按下按钮,我想要改变 Headers .
您可以通过更改正在显示的视图控制器的title来更改 Headers :
viewController.title = "some title"
通常这是在视图中完成视图控制器上的加载:
override func viewDidLoad() { super.viewDidLoad() self.title = "some title" }
但是,这仅在您将视图控制器嵌入UINavigationController中时才有效 . 我建议这样做而不是自己创建导航栏 . 如果您坚持自己创建导航栏,可以通过执行以下操作来更改 Headers :
navigationBar.topItem.title = "some title"
通常,最佳做法是在 UIViewController 上设置 Headers . 通过这样做, UINavigationItem 也被设置 . 通常,这比以编程方式分配和初始化未链接到任何内容的_146362更好 .
UIViewController
UINavigationItem
您错过了 UINavigationBar 设计的一些优点和功能 . Here is a link到可能对您有帮助的文档 . 它讨论了您可以在实际条形图和 UINavigationItem 上设置的不同属性 .
UINavigationBar
请记住:
您丢失了后退按钮功能(除非您自己连线)
内置的"drag from the left-hand side to swipe back"手势被没收
UINavigationController 是你的朋友 .
UINavigationController
使用swift4的人的正确答案是
override func viewDidLoad() { super.viewDidLoad() self.navigationItem.title = "Your Text" }
在Swift 4中:
Swift 4
override func viewDidLoad() { super.viewDidLoad() self.title = "Your title" }
我希望它有所帮助,问候!
以下代码适用于Xcode 7:
override func viewDidLoad() { super.viewDidLoad() self.navigationItem.title = "Your Title" }
如果您将尝试手动创建 Navigation Bar ,此代码将帮助您
Navigation Bar
func setNavBarToTheView() { let navBar: UINavigationBar = UINavigationBar(frame: CGRect(x: 0, y: 0, width: self.view.frame.size.width, height: 64.0)) self.view.addSubview(navBar); let navItem = UINavigationItem(title: "Camera"); let doneItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.cancel, target: self, action: #selector(CameraViewController.onClickBack)); navItem.leftBarButtonItem = doneItem; navBar.setItems([navItem], animated: true); }
Swift 3
我为故事板中的导航栏(来自对象浏览器)附带的导航 Headers 栏项创建了一个插座 . 然后我起诉了下面这一行:
navigationBarTitleItem.title = "Hello Bar"
在 viewDidLoad 中尝试以下操作
viewDidLoad
self.navigationItem.title = "Your Title"
我发现这个工作:
navigationItem.title = "Title"
9 回答
您可以通过更改正在显示的视图控制器的title来更改 Headers :
通常这是在视图中完成视图控制器上的加载:
但是,这仅在您将视图控制器嵌入UINavigationController中时才有效 . 我建议这样做而不是自己创建导航栏 . 如果您坚持自己创建导航栏,可以通过执行以下操作来更改 Headers :
通常,最佳做法是在
UIViewController
上设置 Headers . 通过这样做,UINavigationItem
也被设置 . 通常,这比以编程方式分配和初始化未链接到任何内容的_146362更好 .您错过了
UINavigationBar
设计的一些优点和功能 . Here is a link到可能对您有帮助的文档 . 它讨论了您可以在实际条形图和UINavigationItem
上设置的不同属性 .请记住:
您丢失了后退按钮功能(除非您自己连线)
内置的"drag from the left-hand side to swipe back"手势被没收
UINavigationController
是你的朋友 .使用swift4的人的正确答案是
在Swift 4中:
Swift 4
我希望它有所帮助,问候!
以下代码适用于Xcode 7:
如果您将尝试手动创建
Navigation Bar
,此代码将帮助您Swift 3
我为故事板中的导航栏(来自对象浏览器)附带的导航 Headers 栏项创建了一个插座 . 然后我起诉了下面这一行:
在
viewDidLoad
中尝试以下操作我发现这个工作: