0

ボタンを介してテーブルビューコントローラーに進むビューコントローラーがあります。

ビュー コントローラーでは、ナビゲーション バーは完全に半透明です (下のスクリーン ショットでわかるように)。テーブル ビュー コントローラーでは、ナビゲーション バーが白に設定されています。

私の問題は、テーブル ビューで「戻る」を押してビュー コントローラーに戻ると、白いナビゲーション バーがしばらくの間持ち越されて (上の画像を参照)、醜いアニメーションで消えることです。

追加のナビゲーション バー スペース: 不要なナビゲーション バーのキャリー オーバー

常にどのように見せたいか: どのように見えるべきか

私は考えることができるほとんどすべてを試しました.ナビゲーションバーの半透明性に関連するすべてのコードはviewDidAppearにあります.なぜこれが起こっているのですか!?

誰か私が間違っていることを教えてください!これは私を夢中にさせています!

4

2 に答える 2

1

tableviewcontroller セット:

- (void)viewWillDisappear:(BOOL)animated {
 // put the code for the uinavigation bar styling here.
}
于 2013-10-28T11:06:18.227 に答える
0

以下のカスタム戻るボタンを使用して、このようなことを行うことができます。コードは次のとおりです

UIButton *backButton = [UIButton buttonWithType:UIButtonTypeCustom];
backButton.frame = CGRectMake(2, 1, 29, 29);
[backButton setBackgroundImage:[UIImage imageNamed:@"back_button"] forState:UIControlStateNormal];
[backButton addTarget:self action:@selector(backButtonClicked:) forControlEvents:UIControlEventTouchUpInside];
backButton.adjustsImageWhenHighlighted = NO
item.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:backButton];

item は UINavigationItem のインスタンスであり、戻るボタンのセレクターにあります

-(void)backButtonClicked:(id)送信者 {

[self.navigationBar popNavigationItemAnimated:NO];

}

これを行うと、ナビゲーション バーが項目をポップしますが、アニメーションは表示されません。

于 2013-10-28T11:41:48.013 に答える