使用Autolayout& amp;报告错误的帧报告大小类

时间:2015-02-13 23:43:30

标签: ios xcode uiview autolayout size-classes

我在UIViewController中布置了一个UIView。约束它的高度和宽度,并使用约束垂直和水平居中,但是当我记录它的框架时,它报告一个看起来适合于完整sizeClass的位置,但不是我正在看的屏幕的大小。< / p>

例如,默认大小类UIViewController的宽度为600px,在该大小中,我的UIView距离左边​​缘150px。当我在iphone5模拟器中运行时从左边缘检查这个距离时,它仍然报告150px。

关于所有这一切的奇怪之处在于,UIView本身仍然出现在预期的(调整屏幕大小)位置。

1 个答案:

答案 0 :(得分:0)

对于后代:我遇到的问题 - 在打印视图框架时获取的值不正确 - 是在ViewDidLoad期间访问该框架导致的。此时ViewController生命周期可能尚未布置所有视图。

因此,只有在调用UIView后访问ViewDidLayoutSubviews属性/出口才是最安全的。

我的意思是,它就是以方法的名义出现的:“你的观点已经布局了......现在用它们做点什么。”