我正在尝试保持代码清洁并保持文件数量不变。我正在使用UITableViewController,我想在其上加载另一个视图。我认为这很简单:
(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中)之间建立连接。那就是我应该做的一切吗?
答案 0 :(得分:-1)
我认为这是层次结构中添加视图的问题。你可以试试这个:
[UIWindow addSubview:self.downloadView];
看看它是否出现。或许,
[self.tableView addSubview:self.downloadView];
否则我认为你有正确的想法。