首页 文章

我想改变UINavigationBar的高度并添加一个 Headers . 为什么这么难?

提问于
浏览
1

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

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

2 回答

  • 4

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

    更多这里:apple documentation on customizing the nav bar

    您可以使用 UIViewController 中的 UINavigationItem navigationItem属性来自定义 UINavigationBar .

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

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

    内置的优点是:

    • 无需代码即可获得iOS外观

    • 后面的按钮已填入

    • 您可以在所有显示的视图控制器中轻松访问它

相关问题