0

カスタム ナビゲーション バー - MyNavigationBar (UIView を拡張)を作成したアプリを作成しています。

MyNavigationBar.xib :

そのカスタムビューのペン先

MyNavigationBar.m :

    +(id)navigationBar{
    MyNavigationBar * bar = (MyNavigationBar *) [[[NSBundle mainBundle] loadNibNamed:@"MyNavigationBar" owner:self options:nil] objectAtIndex:0];
    return bar;
}

次に、NavigationViewControllerの実装で、このコードを使用して上記のビューをnavigationBarに追加します。

NavigationViewController.m :

    - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
        _navBar = [MyNavigationBar navigationBar];
        [self.navigationBar addSubview:_navBar];
    }
    return self;
}

左ボタン ( MyNavigationBarのサブビュー) が押されたとき

[[self navigationController] popViewControllerAnimated:YES];

と呼ばれます。

問題は、ポップ アニメーションの不具合が発生した場合、次のようになることです。

ここに画像の説明を入力ここに画像の説明を入力

戻るボタンは、すべてのアニメーション期間で表示され、その後消えます。

私はこれを試しましたが、何も起こりません:

[_navigationBar.backItem setHidesBackButton:YES];
4

1 に答える 1

0

ナビゲーションバーにカスタムサブビューを追加する代わりに、navigationItem.titleViewをカスタムUIViewに設定するか、[UINavigationBarappearance]および[UIBarButtonItemappearance]APIを使用して標準コントロールをカスタマイズしてみてください。

于 2013-02-10T11:36:53.673 に答える