ワイヤーフレームのようなものを実装しようとしています。基本的にはタブ ナビゲーション コントローラーを一番下に配置し、ビューの内側にコントローラーのような別のタブを配置します。どこから始めればよいか少し混乱しています。これ。
2 に答える
私はあなたが望むそのトップタブのようなコントロールのための標準的なユーザーコントロールがあることを非常に疑っています。独自のコントローラーを作成してそのためのビューを作成し、「ビュー1」と「ビュー2」のラベルをタップしたときに中央のビューを手動で管理する必要がある場合があります。
Tab Bar Controller ではなく、Navigation Controllertoolbar
プロパティを使用する必要があります。タブ バー アイテムのように見えますが、別のコントローラー インスタンスを実装する必要はありません。UINavigationControllerのリファレンス ページを見てください。
ナビゲーション コントローラー オブジェクトは、そのビュー階層でオプションのツールバーを管理します。表示されると、このツールバーは、アクティブなView ControllerのtoolbarItemsプロパティから現在のアイテムのセットを取得します。アクティブなView Controllerが変更されると、Navigation Controllerは新しいView Controllerに一致するようにツールバー項目を更新し、必要に応じて新しい項目を所定の位置にアニメーション化します。
これはいくつかの UIViewController クラスです:
- (void)createToolbarItems
{
UIImage *background = [[UIImage imageNamed:@"navbar"] resizableImageWithCapInsets:UIEdgeInsetsMake(2, 2, 2, 2)];
[self.navigationController.toolbar setBackgroundImage:background forToolbarPosition:UIBarPositionBottom barMetrics:UIBarMetricsDefault];
self.navigationController.toolbar.delegate = self; // optional
//... create some UIBarButtonItem items
self.toolbarItems = @[item1, space, item2, space, item3, space, item4]; // we set items not to navigation controller instance, but the current controller
}
- (void)showToolbarAnimated:(BOOL)animated
{
if(!self.toolbar)
return;
[self.navigationController setToolbarHidden:YES animated:animated];
}