当我使用此代码时:
- (void)viewDidLoad
{
[super viewDidLoad];
CGFloat mainViewWidth = self.view.bounds.size.width;
NSLog(@"%f", mainViewWidth);
}
我在模拟器中得到了结果:480
当我在 iPhone 4 上启动应用程序时,我得到了 320 的结果?
我做错什么了吗?
当我使用此代码时:
- (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 属性会为您提供不可预测的值。
斯威夫特 3.1:
let width = yourView.bounds.width
试试这个
-(void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
CGFloat width = CGRectGetWidth(self.view.bounds);
}