簡體   English   中英

UIView更改大小

[英]UIView changing size

我有一個像這樣在loadview中創建的視圖:

- (void)loadView {
UIView *mainView = [[UIView alloc] initWithFrame:[UIApplication sharedApplication].keyWindow.bounds];
self.view = mainView;
[mainView release];

}

因此,如果我打印視圖,則會得到結果:> OK,這就是我想要的767x1024

問題是,如果我調用此方法:

[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationSlide];

並呈現一個modalViewController,然后在我以前的視圖控制器上將其關閉,打印方法viewDidAppear和viewWillAppear我得到了:

viewWillAppear:

[<UIView: 0x4e946a0; frame = (0 0; 768 1024); layer = <CALayer: 0x4e946d0>>]

viewDidAppear:

[<UIView: 0x4e946a0; frame = (0 0; 768 1004); layer = <CALayer: 0x4e946d0>>]

為什么視圖大小變化20? 我知道這與狀態欄有關,但無法弄清楚。

謝謝。

你是對的。 狀態欄的默認大小為20像素高。 隨着狀態欄的出現,UIViewController自動調整子視圖的大小。 根據Apple的文檔,“當視圖控制器顯示在屏幕上時,通常會調整其根視圖的大小以適合可用空間,視窗口的當前方向和其他界面元素(例如狀態欄)的存在而定,該可用空間可能會有所不同。” http://developer.apple.com/library/ios/#documentation/uikit/reference/UIViewController_Class/Reference/Reference.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM