何度押しUINavigationControllerても常に同じように表示させる方法はありますか?UIBarButtonItem
4 に答える
1
これを試して-
- サブクラス(
CustomNavigationController) を作成UINavigationControllerし、ビュー コントローラをプッシュするために使用します。 - または で作成
CustomNavigationControllerしUIBarButtonItemます。&を追加します。initviewDidLoadtargetaction UINavigationControllerDelegateにデリゲートを実装し、デリゲート メソッドで各ビュー コントローラーの右または左のバー ボタン アイテムとしてCustomNavigationController設定します。barButtonYouCreated
使用する
- (void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated {
viewController.navigationItem.leftBarButtonItem = barButtonYouCreated;
}
また
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated
于 2012-11-21T02:45:18.833 に答える
0
UINavigationControllerDelegate以下のように使用できます。
- (void)navigationController:(UINavigationController *)navigationController
willShowViewController:(UIViewController *)viewController animated:(BOOL)animated
そして、このデリゲート メソッドでは、barButtonItem をナビゲーション バーに追加することを確認できます。
于 2012-11-21T03:18:15.547 に答える
0
プッシュ コントローラを含むグローバルUITabBarControllerインを作成しUINavigationControllerてから、プッシュ コントローラをnavigationbar非表示にすることができます。
于 2012-11-21T03:39:29.600 に答える
0
または、UINavigationController カテゴリを使用して、バック アイテムをカスタマイズして、何度プッシュされても、navigationController のバック アイテムに同じビューを設定するだけで済みます。何かのようなもの:
@implementation UIViewController (CustomNavigation)
- (void)setLeftBarButtonItem:(UIButton*)leftview
{
UIBarButtonItem *customItem = [[[UIBarButtonItem alloc] initWithCustomView:leftview] autorelease];
self.navigationItem.leftBarButtonItem = customItem;
[(UIButton*)self.navigationItem.leftBarButtonItem.customView addTarget:self.navigationController action:@selector(popViewControllerAnimated:) forControlEvents:UIControlEventTouchUpInside];
}
于 2012-11-21T04:14:38.690 に答える