設定ボタンが付いたナビゲーションバーが、どのタブにあるかに関係なくそこにとどまるようにしたいのですが。
短いメッセージでごめんなさい、私には遅れました、
追跡
設定ボタンが付いたナビゲーションバーが、どのタブにあるかに関係なくそこにとどまるようにしたいのですが。
短いメッセージでごめんなさい、私には遅れました、
追跡
できることは、UIToolBarをストーリーボードコントローラーにドラッグし、そこに必要なボタンとアクションを設定することです。すべてのコントローラーを同じ基本クラスから拡張して、コードを繰り返す必要がないようにすることができます。また、より快適な場合は、このツールバーをコードでインスタンス化することもできます。
問題は、ナビゲーションバーがこのツールバーに置き換わる/重なるため、ナビゲーションの使用に関してです。
UIToolbar *myToolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, 44)];
UIBarButtonItem *myButton = [[UIBarButtonItem alloc] initWithTitle:@"Title"
style:UIBarButtonItemStyleBordered
target:self
action:@selector(myAction:)];
[myToolbar setItems:[NSArray arrayWithObjects:myButton, nil]];
[self.view addSubview:myToolbar];
AppDidFinishLaunchingの場合:
Add Your TabBarcontroller (rootViewController) for UINavigationController
下の設定ボタンを追加します。これはnavigationBarの例です。
UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithTitle:@"Done"
style:UIBarButtonSystemItemDone target:nil action:nil];
navigationCOntroller.navigationItem.rightBarButtonItem = rightButton
rightButtonはアプリケーション全体に表示されます
UITabBarControllerを使用して任意のビューからアクセスできる設定ボタン付きのナビゲーションバーを配置するだけの場合は、AppDelegate->で次のようにすることができます。
YourViewController1 *yourVC1 = [YourViewController1 alloc] initWithNibName:@"YourViewController1" bundle:nil];
UINavigationController *yourNVC1 = [[UINavigationController alloc] initWithRootViewController:yourVC1];
YourViewController2 *yourVC2 = [YourViewController2 alloc] initWithNibName:@"YourViewController2" bundle:nil];
UINavigationController *yourNVC2 = [[UINavigationController alloc] initWithRootViewController:yourVC2];
UITabBarController *tabBC = [[UITabBarController alloc] init];
[tabBC setViewControllers:[NSArray arrayWithObjects:yourNVC1, yourNVC2, nil]];
self.window.rootViewController = tabBC;
そして、すべてのビューにナビゲーションバー付きのタブバーが必要です。次に、設定ボタンをナビゲーションバーに配置するために、これを、設定ボタンを表示するViewControllerのviewDidLoadメソッドに追加します->
UIBarButtonItem *selectBarButton = [[UIBarButtonItem alloc] initWithTitle:@"Settings" style:UIBarButtonItemStyleBordered target:self action:@selector(selectorName:)];
self.navigationItem.rightBarButtonItem = selectBarButton;