2012-04-14 37 views
0

我創建了一個名爲MyViewController的幾乎爲空的UIViewController類。在viewDidLoad我正在設置標題並添加一個關閉按鈕到navigationItem.leftBarButtonItem如何在UIViewController中設置視圖

我提出我MyViewController這樣的:

MyViewController *myViewController = [[MyViewController alloc] init]; 

UINavigationController *nc = [[UINavigationController alloc] myViewController]; 
nc.modalTransitionStyle = UIModalTransitionStyleCoverVertical; 
[self presentModalViewController:nc animated:YES]; 

當的viewController提出,它的背景是視圖僅僅是黑色的。我如何設置它的視圖來填充屏幕上的空白視圖 - 就像在故事板中設置UIViewController一樣?

我試着添加以下的viewDidLoad中,但風景依然是黑色的:

self.view = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
+0

你確定視圖的backgroundColor是白色的嗎? – 2012-04-14 15:41:02

回答

0

默認情況下,一個VC的視圖在-loadView中創建,您通常既不會調用也不會覆蓋。它會在您第一次請求VC的view屬性時自動調用。
視圖的大小會自動設置爲「空白空間」,除了沒有NavigationController的狀態欄以外,其他所有內容都會自動設置爲「空白空間」,在使用一個空白空間時減去導航欄等。您不應該擔心它的大小 - 通常它會很好。

您可以在-viewDidLoad中添加自己的視圖並在-viewDidUnload中再次刪除它們(出於內存不足的原因)。

0

您可以用自定義圖像添加的UIImageView,然後把它交給背 所以在你viewcontrollers viewDidLoad

UIImageView *back = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"MyBG"]]; 
[self.view addSubview:back]; 
[self.view sendSubViewToBack:back]; 
相關問題