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