iOS 导航标题视图大小
iOS nav titleView size
我加了一个UILabel
作为titleView
作为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
我加了一个UILabel
作为titleView
作为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