2008-10-26 122 views
1

我有一個tabview控制器,我添加了一個UIViewController到每個選項卡。我想在UIViewController中有多個UIViews。添加多個視圖來查看控制器內的標籤控制器

所以在UIViewController類的實現中,我添加了[self.view addSubView:uiview1]和[self.view addSubView:uiview2]。問題是,當我運行該應用程序時,它會在負載時發生。

但是,如果我只使用一個單獨的UIView,並且做到了:self.view = UIView1,它可以正常工作。

有誰知道是什麼原因造成的問題?或者如果我正在做一些根本錯誤的事情?

回答

3

假設您以編程方式執行此操作,您應該在視圖控制器的loadView方法中創建視圖。在這之前

self.view = [[[UIView alloc] initWithFrame:someFrame] autorelease]; 

:所以,你必須這樣做

[self.view addSubview:uiview1]; 
[self.view addSubview:uiview2]; 

否則,self.view將是零。

+1

這不是真的。一個UIViewController的視圖是免費爲你創建的,只要你不重寫 - (void)loadView。 只需在 - (void)viewDidLoad中添加子視圖。 – Amagrammer 2009-07-25 14:50:57

1

沒有理由在你的UIViewController的主視圖成員變量中不能有多個視圖。但是,在您的問題中仍有相當多的項目未答覆:

  • 您如何獲取view1和view2?
  • 它們是否在XIB文件中出現(您是使用XIB文件,還是在代碼中創建所有內容),還是在代碼中創建它們?
  • 在你的UIViewController子類中,你將它們添加到你的視圖成員變量中?
  • 什麼信息在控制檯崩潰時打印出來?
相關問題