【问题标题】:Changing the height of the Navigation bar iOS Swift更改导航栏 iOS Swift 的高度
【发布时间】:2015-11-15 12:28:40
【问题描述】:

我正在尝试为我的应用更改导航栏的高度。 目前高度固定为 44。我可以从 Xcode 更改宽度,但不能更改高度。

我不知道如何改变这一点。对 iOS 开发非常陌生。

有人可以帮忙吗?

【问题讨论】:

  • 是你的导航栏还是 UINavigationController 的导航栏?
  • 导航栏。只需将其拖放到我的视图中即可。我没有连接到导航栏的控制器。
  • 然后你可以用约束来做(并且不需要代码)。请参阅下面的屏幕截图。

标签: ios iphone swift uinavigationbar


【解决方案1】:

只需将其拖放到我的视图中

在这种情况下,最简单的方法是使用约束。只需给它一个高度约束(以及定位它的其他约束)。无需代码!这是一个例子:

这是通过完全没有代码实现的。这一切都是通过约束完成的:

我们被固定在超级视图的顶部和侧面,高度限制为 100。

【讨论】:

  • 这太棒了,谢谢!我也可以使用约束来降低高度吗?
  • 可以,但它看起来不太好,因为它会自动将标题之类的东西放在适当的位置,而较短的导航栏将没有空间放置标题。
  • @matt 使用这种方式如何让标题垂直居中??
  • 如何设置高度限制?当我尝试拖放时,我只有delegate 选项......像往常一样没有高度限制
  • @AlekseyTimoshchenko 如果您不了解如何在 UINavigationBar 上创建高度约束,您能否将其作为单独的问题提出?
【解决方案2】:

试试这个:

import UIKit

class YourViewController : UIViewController {

    var navBar: UINavigationBar = UINavigationBar()

    override func viewDidLoad() {
        super.viewDidLoad()
        self.setNavBarToTheView()
        // Do any additional setup after loading the view.
        self.title = "test test"
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    func setNavBarToTheView() {
        self.navBar.frame = CGRectMake(0, 0, 320, 50)  // Here you can set you Width and Height for your navBar
        self.navBar.backgroundColor = (UIColor.blackColor())
        self.view.addSubview(navBar)
    }
}

【讨论】:

  • 我刚刚尝试了该选项,但没有显示导航栏。应该在我的视图中拖放导航栏还是以编程方式创建导航栏?
  • 你有没有在 UINavigationController 中嵌入你的视图控制器?
  • 我没有。我不确定该怎么做。
  • 我现在可以看到导航栏和“测试测试”标题,但仍然无法更改高度。我尝试更改您在代码中注释的值,但没有效果。
  • 来自 Apple 文档:“允许使用 UINavigationBar 类的方法和属性自定义导航栏的外观,但您绝不能更改其框架、边界或 alpha 值或修改其直接查看层次结构。要显示或隐藏导航栏,您应该始终通过导航控制器更改其 navigationBarHidden 属性或调用 setNavigationBarHidden:animated: 方法。"
【解决方案3】:

我知道这没有任何意义,但这就是我所做的(在没有设置约束的情况下工作)。

  1. 选择您的视图控制器
  2. 打开显示属性检查器
  3. 对于顶部栏,选择任何标签栏(我选择半透明标签栏)。
  4. 显示对象库中将导航项拖放到视图控制器上。 (如果操作正确,应该如图 3 所示)
  5. 另外 (fyi),您可以为按钮等添加约束,不使用边距,顶部设置为 0。

【讨论】:

  • 别忘了嵌入导航控制器。 :)
猜你喜欢
  • 2017-04-06
  • 2023-03-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-30
  • 1970-01-01
相关资源
最近更新 更多