Kir*_*Koa 1 iphone objective-c uiview orientation-changes ios
我正在尝试确保UIView即使在方向更改后我的自定义始终位于屏幕的中心.
所以我试着用我UIView的超级视图做一些数学运算,这是我程序的主要视图(所以它占据了整个屏幕).
我注意到在方向改变后打印超视图的框架的宽度和高度时,它的宽度和高度在第一次旋转后没有改变,然后不是我预期的.
出乎意料的是,当设备处于纵向模式时,宽度= 480,高度= 320.当设备处于横向模式时,宽度= 320,高度= 480.
我从这里得到这些数字:
CGRect sFrame = [self superview].frame;
NSLog(@"width = %f, height = %f", sFrame.size.width, sFrame.size.height);
Run Code Online (Sandbox Code Playgroud)
这是我的自定义UIView.
superview的帧不会自动更新吗?如果没有,我应该在哪里获得准确的宽度和高度?有一个更好的方法吗?
非常感谢你!
使用 autoresizingMask
view.center = view.superview.center;
view.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin;
Run Code Online (Sandbox Code Playgroud)
那你就不用再写任何代码了
| 归档时间: |
|
| 查看次数: |
7089 次 |
| 最近记录: |