当我使用此代码时:
- (void)viewDidLoad
{
[super viewDidLoad];
CGFloat mainViewWidth = self.view.bounds.size.width;
NSLog(@"%f", mainViewWidth);
}
我在模拟器中得到了结果:480
当我在iPhone 4上启动该应用程序时,我得到了结果320?
我做错了什么吗?
在 viewWillAppear
中执行相同的操作。
-(void)viewWillAppear:(BOOL)animated{
CGFloat mainViewWidth = self.view.bounds.size.width;
NSLog(@"%f", mainViewWidth);
}
看看你是否得到了正确的值。 ViewDidLoad
在完全绘制视图之前被调用。访问 UIView
size 属性会在那里提供不可预测的值。
Swift 3.1 :
let width = yourView.bounds.width
试试这个
-(void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
CGFloat width = CGRectGetWidth(self.view.bounds);
}