2012-12-04 55 views
3

當我使用此代碼:如何在橫向模式下獲得主UIView的寬度?

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    CGFloat mainViewWidth = self.view.bounds.size.width; 
    NSLog(@"%f", mainViewWidth); 
} 

我得到的結果模擬器:480

,當我在我的iPhone 4啓動應用程序,我得到的結果320?

我做錯了什麼?

+0

相反界使用框架 –

+0

我試過,但結果仍是不一樣的。 – CroiOS

+1

你應該在viewWillAppear中使用這段代碼,因爲每當你旋轉呼叫將在那裏。或者,如果你特別想登錄特定方向,那麼只需使用一個布爾值...我希望你明白了。 –

回答

8

做相同的viewWillAppear

-(void)viewWillAppear:(BOOL)animated{ 
    CGFloat mainViewWidth = self.view.bounds.size.width; 
    NSLog(@"%f", mainViewWidth); 
} 

,看看你是否得到正確的價值觀.. ViewDidLoad被前視圖繪製完成調用。訪問UIView尺寸屬性​​會爲您提供不可預測的值。

0

試試這個

-(void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation 
{ 
    CGFloat width = CGRectGetWidth(self.view.bounds); 
} 
0

雨燕3.1:

let width = yourView.bounds.width 
相關問題