2011-04-25 32 views
22

我正在创建一个自定义UIToolbar,用作UINavigationBar.navigationitem.titleView属性中的UIView。我想通过获取.navigationitem的当前高度而不是硬编码来将工具栏高度设置为.navigationitem的高度。有没有办法获得身高值?如何以编程方式获取UINavigationBar.navigationItem的高度?

+0

导航项目的高度取决于您创建的导航项目的类型,但你总是立足于导航栏的高度您的工具栏的高度。 – spstanley 2011-05-06 01:45:51

回答

44

不知道这是否是你需要的。

self.navigationController.navigationBar.frame.size.height

+3

非常“干净” - 德米特法律的典型做法! :-)这不是你的错,Apple设计了它。我只是指出它看起来有多可怕... – Michal 2013-10-04 12:00:37

+3

不会一直工作..有时导航栏会有一定的高度(在我的情况44),但它会有一个(私人,即你不能访问它通过UIKit的apis)子视图更大(在我的情况下,_UINavigationBarBackground.UIBackdropView.UIView高度是64)。 – abbood 2015-03-24 11:14:10

+0

由于某种原因返回46,当高度显然更多(我猜64)。也许是因为我没有对这个对象设置约束? – Trip 2016-03-29 15:25:12

相关问题