0
我試圖保持我的代碼清潔,並保持文件數量。我正在使用UITableViewController,我想在其上加載另一個視圖。我想這將是非常簡單的:一個筆尖中的多個視圖(addSubview)
(1)在我的.h文件中創建一個IBOutlet
@interface MyViewController : UITableViewController {
...
UIView *downloadView;
...
}
...
@property (nonatomic, retain) IBOutlet UIView *downloadView;
...
(2)將其鏈接到我在IB視圖
(3)做這樣的事情:
self.view = downloadView;
或
[self.view addSubview:self.downloadView];
但這不適合我。如果我做
[self.tableView removeFromSuperview];
然後表視圖消失,但我不知道如何從我的筆尖添加我的視圖。我以編程方式爲tableView做所有事情,但我不認爲這很重要。用UITableViewController繼承UIViewController,我認爲使用addSubview或類似的東西沒有問題。我錯過了什麼?這不應該是那麼困難的權利?
更新: 所以,如果我做到以下幾點:
UIView *newView = [[UIView alloc] initWithFrame:self.view.frame];
newView.backgroundColor = [UIColor greenColor];
[self.view addSubview:newView];
它(主要)是我想要的。那麼這是否意味着我正在將我的視角與IB連接起來?在IB中,我將fileOwner的類設置爲MyViewController,並在downloadView和我創建的視圖(在IB中)之間建立連接。這就是我應該做的對嗎?
的UIWindow不喜歡addSubview: *** + [一個UIWindow addSubview:]:無法識別的選擇發送到類0x31a5c4e0 ***終止應用程序由於未捕獲的異常 'NSInvalidArgumentException',原因:「*** + [的UIWindow addSubview:]:無法識別的選擇器發送到類0x31a5c4e0' 而我也嘗試了第二種方式,並沒有做任何事情。 – RyanJM 2009-07-06 15:44:01