我想改变UINavigationBar的高度并添加一个标题。为什么这么难?

时间:2015-03-05 18:33:59

标签: ios swift storyboard xcode6 uinavigationbar

我想更改UINavigationBar的高度并使用XCode6添加标题...此导航栏是我放置在故事板上的视图控制器内的单独对象。为什么我无法更改标题或从编辑器中拉伸它?如果我能做到这一点真是太棒了......但我不能!有人可以指点我如何在Swift中以编程方式执行此操作吗?这个代码的最佳做法是在viewDidLoad中吗?另外......对我来说,甚至在视图控制器上放置 UINavigationBar是最佳做法吗?使用UINavationContoller与将我自己的版本拼凑在一起的优势是什么?将按钮放在导航栏上真的很容易....为什么我会放一个按钮项?看起来最简单的事情就是在photoshop中创建一个漂亮的标题栏作为图像,并在编辑器中将按钮放在它上面,而不是与Interface Builder对象搏斗......我错了吗?

抱歉咆哮这不是一个好问题...也许问题应该是......我应该在Photoshop中制作导航栏并在其上放置按钮而不是处理导航对象?我现在只使用带按钮的简单推送segue进行导航。

2 个答案:

答案 0 :(得分:4)

如果你想要一个非常自定义的外观,你必须自己做。根据您的需要(自定义高度) - 请查看Is there a way to change the height of a UINavigationBar in Storyboard without using a UINavigationController?

内置的优点是:

  • 没有代码就可以获得iOS外观
  • 后退按钮已填入
  • 您可以在所有显示的视图控制器中轻松访问它

答案 1 :(得分:2)

  

在导航界面中,导航控制器拥有它   UINavigationBar对象并负责管理它。它不是   允许更改导航栏对象或修改其边界,   框架,或直接alpha值。但是,有一些属性   你可以修改

更多信息:apple documentation on customizing the nav bar

您可以使用UINavigationItem中的UIViewController navigationItem媒体资源自定义UINavigationBar

// In ViewController
  self.navigationItem.titleView = myTitleLabel;
  self.navigationItem.rightBarButtonItem = myIcon;
  self.navigationItem.leftBarButtonItem = myBackIcon;