UITableView
シングル ビュー アプリで、メイン ビュー全体 (全幅と全高) をカバーする を設定する適切な方法は、次のviewDidLoad
とおりであることを学びました。
table = [[UITableView alloc] initWithFrame:self.view.bounds];
table.autoresizingMask = UIViewAutoresizingFlexibleWidth |
UIViewAutoresizingFlexibleHeight;
[self.view addSubview:table];
物理的な iPad 2 が横向きモードで保持されている場合、およびself.view.bounds
上記が 内に印刷されている場合、次のようviewDidLoad
に表示 されることに注意してください{{0, 0}, {768, 1004}}
。だから私はアイデアは次のとおりだと思いました:幅と高さが正しくないことを心配しないでくださいUIViewAutoresizingFlexibleWidth
. UIViewAutoresizingFlexibleHeight
and は正しい幅とサイズを自動的に設定します.
だから私は実際に上記の最初の行を次のように置き換えてみました:
table = [[UITableView alloc] init];
また
table = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 200, 200)];
あるいは
table = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 1004, 768)];
または最終的に「正しい値」:
table = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 1024, 748)];
iPad 2 を横位置で保持した場合。しかし、現在、テーブルはメイン ビュー全体に完全には展開されません。では、ここでの支配原則は何ですか? 幅と高さを誤って設定することはできますが、{768, 1004}
? 他の値では「正しくない」ことはありませんか? noCGRect
が指定された場合、またはいくつかのダミー値が指定された場合、ランドスケープ モードまたはポートレート モードのいずれであっても、メイン ビューの幅と高さをテーブルに完全に合わせる{200, 200}
には、コードで何を行う必要がありますか?viewDidLoad