我将 a 添加UILabel
为titleView
as self.navigationItem.titleView
。标签的宽度是屏幕的宽度,原点是CGZero。添加左右栏项目后,UILabel
的原点和宽度相对于屏幕发生变化。UILabel
我必须在具有相同宽度的正下方放置一些东西,但是当我使用convertRect
或convertPoint
获得我为框架设置的原始值时,相对于屏幕上看到的内容不正确。
titleView
获取屏幕上显示的新框架值的正确方法是什么
我将 a 添加UILabel
为titleView
as self.navigationItem.titleView
。标签的宽度是屏幕的宽度,原点是CGZero。添加左右栏项目后,UILabel
的原点和宽度相对于屏幕发生变化。UILabel
我必须在具有相同宽度的正下方放置一些东西,但是当我使用convertRect
或convertPoint
获得我为框架设置的原始值时,相对于屏幕上看到的内容不正确。
titleView
获取屏幕上显示的新框架值的正确方法是什么
啊问题是我太早查询标题视图的大小,因为直到运行循环中的下一次通过才计算子视图的大小我在主视图中解决了它
navBar.layoutIfNeeded()
var titleViewFrameInTopLevelViewSpace:CGRect = self.navigationItem.titleView!.convertRect(self.navigationItem.titleView!.bounds, toView: self.view)
println(titleViewFrameInTopLevelViewSpace)
谢谢@rob-mayoff