我将 a 添加UILabel为titleViewas self.navigationItem.titleView。标签的宽度是屏幕的宽度,原点是CGZero。添加左右栏项目后,UILabel的原点和宽度相对于屏幕发生变化。UILabel我必须在具有相同宽度的正下方放置一些东西,但是当我使用convertRect或convertPoint获得我为框架设置的原始值时,相对于屏幕上看到的内容不正确。
titleView获取屏幕上显示的新框架值的正确方法是什么
我将 a 添加UILabel为titleViewas 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