2010-07-09 77 views
3

嗨我的UIViewController.view添加到我的應用程序窗口後,我有一個奇怪的問題。狀態欄下的UIView

我創建了一個基於窗口的應用程序,並在我的appDelegates didFinishLaunchingWithOptions方法中添加了我的視圖。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  

    overviewViewController *overView = [[overviewViewController alloc] initWithNibName:@"overviewViewController" bundle:nil]; 
    //overView.view.bounds = CGRectMake(0.0f, 20.0f, 320.0f, 460.0f); 
    [window addSubview:overView.view]; 

    //[overView release]; 
    [window makeKeyAndVisible]; 

    return YES; 
} 

單擊「添加」按鈕可呈現模型視圖控制器。解除這個modelViewController後,主視圖完美契合。

正如你所看到的,我還試圖在添加我的子視圖之前設置邊界,但沒有任何成功。

有沒有人對我有一些提示,請問如何解決這個問題?

回答

3

您可以通過在你的viewDidLoad方法設置這個甚至viewWillAppear解決這個問題:也

self.view.frame = [[UIScreen mainScreen] applicationFrame]; 

,我猜你最初隱藏狀態欄?或者你總是表現出來?

+0

我的狀態欄沒有隱藏。它放在我的plist中,也模擬了我所有的筆尖。設置框架正在工作。但爲什麼我必須這樣做呢?我的筆尖有精確的像素,我的狀態欄顯示? – choise 2010-07-09 21:03:43

+0

老實說,我只在添加視圖後顯示狀態欄時纔會看到這種情況。您確定狀態欄是否也顯示在Interface Builder的'MainWindow.xib'文件中?如果它是基於窗口的應用程序,那麼該文件的窗口最有可能與您的應用程序委託相關聯,該應用程序委託會加載您嘗試加載的其他視圖。所以一切都從它看起來像設置。 (MainWindow是一個包含在XCode的大多數模板中的默認文件) – iwasrobbed 2010-07-09 21:18:07

+0

是的,這很奇怪,因爲它在我的「mainwindow.xib」和我的「app.plist」中設置。 – choise 2010-07-10 12:48:00

1

在你的筆尖上,檢查以確保模擬界面狀態欄已打開,以便在編輯筆尖視圖時顯示它。

如果這不起作用,請在將其添加到窗口之前嘗試設置邊框而不是邊界。