ビュー階層の作成方法に応じて、テーブル ビューの上または以下のナビゲーション バーに挿入します。
- (void)viewDidLoad
[super viewDidLoad];
// let's assume self.tableView is table view
// and self.navigationBar is navigation bar
// that both are subviews of [self view]
UIView *customSubview = [[UIView alloc] initWithFrame:someRect];
[[self view] insertSubview:customSubview aboveSubview:[self tableView]];
// -- OR --
[[self view] insertSubview:customSubview belowSubview:[self navigationBar]];
}
サブビューを特定のインデックスに挿入するオプションもあります。したがって、ナビゲーション バーが一番上 (つまりインデックス 0) で、テーブル ビューが一番下 (つまり のインデックス[[[[self view] subviews] count] - 1]
) である場合、次のようにカスタム ビューを間に挿入できます。
[[self view] insertSubview:customSubview atIndex:1];
このようにして、テーブルビューはスーパービューで1レベル下がり、サブビューの「レイヤー化」は次のようになります。
- インデックス 0 - ナビゲーション バー
- インデックス 1 - カスタム サブビュー
- インデックス 2 - テーブル ビュー
カスタムサブビューを標準のスーパービューに配置すると、以前のようにテーブルビューと一緒にスクロールしないため、自分で位置を維持する必要があることに注意してください。