當我使用此代碼:如何在橫向模式下獲得主UIView的寬度?
- (void)viewDidLoad
{
[super viewDidLoad];
CGFloat mainViewWidth = self.view.bounds.size.width;
NSLog(@"%f", mainViewWidth);
}
我得到的結果模擬器:480
,當我在我的iPhone 4啓動應用程序,我得到的結果320?
我做錯了什麼?
當我使用此代碼:如何在橫向模式下獲得主UIView的寬度?
- (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
尺寸屬性會爲您提供不可預測的值。
試試這個
-(void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
CGFloat width = CGRectGetWidth(self.view.bounds);
}
雨燕3.1:
let width = yourView.bounds.width
相反界使用框架 –
我試過,但結果仍是不一樣的。 – CroiOS
你應該在viewWillAppear中使用這段代碼,因爲每當你旋轉呼叫將在那裏。或者,如果你特別想登錄特定方向,那麼只需使用一個布爾值...我希望你明白了。 –