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