2012-01-23 19 views
2

我有一個UIViewController的子類,高度始終爲460(self.view.frame.size.height)。我沒有狀態欄,所以我想它是480?有沒有辦法讓它可以返回480?UIViewController的高度設置爲460

+0

沒有足夠的詳細信息...例如,您是否設置了您的視圖的「autoresizingMask」? – DarkDust

+0

以及我有一個UIScrollView,我希望被設置爲全屏視圖/全屏尺寸的任何屏幕尺寸..但是,當我做self.frame.size.height它總是460 ..所以有一些在底部的差距 – xonegirlz

回答

3

你可以做這樣的:

- (void)viewDidLoad 
{ 
    // View setup 

    // Ensure the view will keep filling its parent 
    // when the parent view resizes (e.g. device rotation). 
    self.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; 
} 


- (void)viewWillAppear:(BOOL)animated 
{ 
    // Force to fill the parent once the view is about to be shown. 
    self.view.frame = self.view.superview.bounds; 
} 

如果你會用你設置的自動尺寸面具在界面生成器,而不是XIB。

0

如果您使用的是廈門國際銀行使用屬性隱藏狀態欄,否則你可以在你的AppDelegate.THe其他方法applicationDidFinishLoading方法做

[application setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone]; 

使用info.plist中。

+0

我似乎無法做setStatusBarHidden,我不認爲有這樣的事 – xonegirlz

+0

檢查編輯.. –

3

您可以設置這樣

self.view.frame = CGRectMake(0,0,320,480);

裏面viewDidLoad中或的loadView

+0

我不想硬編碼值..如果可能的話 – xonegirlz

+0

只有兩種方法,一種方法是你可以使用xib並將狀態欄屬性更改爲無,並根據您的要求設置視圖的高度,第二種方法是通過代碼設置高度。它是您的選擇是您想要選擇的選項。 –

+0

xonegirlz的觀點是她不想對數字進行硬編碼(320,480)。而且她不需要:只需指定'self.view.superview.bounds'的值。 – DarkDust