iOS 导航标题视图大小

iOS nav titleView size

我加了一个UILabel作为titleView作为self.navigationItem.titleView。标签的宽度是屏幕的宽度,原点是 CGZero。在我添加左右栏项目后,UILabel 的原点和宽度相对于屏幕发生变化。我必须在 UILabel 正下方放置一些宽度相同的东西,但是当我使用 convertRectconvertPoint 时,我得到了我为框架设置的原始值,这相对于什么是不正确的在屏幕上看到。

获得屏幕上显示的 titleView 新框架值的正确方法是什么

啊,问题是我过早地查询标题视图的大小,因为子视图的大小直到 运行 循环中的下一次传递才计算出来,我在主视图中将其解决为所以

navBar.layoutIfNeeded()
var titleViewFrameInTopLevelViewSpace:CGRect = self.navigationItem.titleView!.convertRect(self.navigationItem.titleView!.bounds, toView: self.view)
println(titleViewFrameInTopLevelViewSpace)

谢谢@rob-mayoff

https://whosebug.com/a/8289028/903214