【问题标题】:How do I obtain the height of UINavigationBar.navigationItem programmatically?如何以编程方式获取 UINavigationBar.navigationItem 的高度?
【发布时间】:2011-04-25 18:16:13
【问题描述】:

我正在创建一个自定义 UIToolbar 以用作 UINavigationBar.navigationitem.titleView 属性中的 UIView。我想通过获取 .navigationitem 的当前高度而不是硬编码来将工具栏高度调整为 .navigationitem 的高度。有没有办法获取高度值?

【问题讨论】:

  • 导航项的高度取决于您创建的导航项的类型,但您始终可以将工具栏高度基于导航栏的高度。

标签: ios uinavigationitem


【解决方案1】:

不确定这是否是您需要的。

self.navigationController.navigationBar.frame.size.height

【讨论】:

  • 非常“干净”——得墨忒耳法则的典型实践! :-) 这不是你的错,Apple 设计了它。我只是指出它看起来有多可怕......
  • 并非一直有效.. 有时导航栏会有一定的高度(在我的情况下为 44),但随后会有一个(私有的,即您无法通过 UIKit 的 api 访问它)更大的子视图(在我的情况下,_UINavigationBarBackground.UIBackdropView.UIView 高度为 64)..
  • 这出于某种原因返回 46,而高度显然更高(我猜是 64)。也许是因为我没有对这个对象设置约束?
猜你喜欢
  • 1970-01-01
  • 2011-07-20
  • 2012-10-11
  • 2011-06-10
  • 2011-11-10
  • 1970-01-01
  • 2013-12-14
  • 2016-06-23
  • 1970-01-01
相关资源
最近更新 更多