我添加一个UILabel作为titleView作为self.navigationItem.titleView。标签的宽度是屏幕的宽度,原点是CGZero。在我添加左、右栏项后,UILabel的原点和宽度与屏幕的变化有关。我必须将一些东西直接放置在UILabel下面,具有相同的宽度,但是当我使用convertRect或convertPoint时,我得到了为框架设置的原始值,这与屏幕上看到的内容相比是不正确的。
如屏幕所示,获得titleView新帧值的正确方法是什么?
发布于 2015-09-12 00:13:39
啊,问题是,我查询标题视图的大小太早了,因为子视图的大小是在运行循环的下一次遍历之前才计算的,所以我在主视图中解决了这个问题。
navBar.layoutIfNeeded()
var titleViewFrameInTopLevelViewSpace:CGRect = self.navigationItem.titleView!.convertRect(self.navigationItem.titleView!.bounds, toView: self.view)
println(titleViewFrameInTopLevelViewSpace)谢谢你,罗伯--也许
https://stackoverflow.com/questions/32533550
复制相似问题