コードをきれいに保ち、ファイルの数を抑えようとしています。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 で) 作成したビューを接続します。それは私がしなければならないすべてですよね?