我试图确保我的自定义UIView
始终位于屏幕中央,即使在方向更改后也是如此。
所以我试图用我UIView
的超级视图做一些数学运算,这是我程序的主视图(所以它占据了整个屏幕)。
我注意到在方向改变后打印出超级视图框架的宽度和高度时,它的宽度和高度在第一次旋转后没有改变,那么这不是我之后所期望的。
出乎意料的是,当设备处于纵向模式时,宽度 = 480 和高度 = 320。当设备处于横向模式时,宽度 = 320 和高度 = 480。
我从以下渠道获得这些数字:
CGRect sFrame = [self superview].frame;
NSLog(@"width = %f, height = %f", sFrame.size.width, sFrame.size.height);
这是在我的自定义 UIView 中。
超级视图的框架不会自动更新吗?如果没有,我应该在哪里获得准确的宽度和高度?有一个更好的方法吗?
非常感谢!