2016-04-05 4 views
0

私は、メインビューコントローラをテーブルビューで使用しているアプリケーションで作業しています。ユーザーがテーブルビューの項目にタッチすると、アプリはディテールビューコントローラーに移動します。 メインビューコントローラに白色のナビゲーションバーが表示されている間は、ディテールビューコントローラにはクリアカラーのナビゲーションバーがあります。 私の問題は、ディテールビューコントローラーで、ビューの左端をドラッグしてメインビューコントローラーに戻るために左にスワイプしようとすると、ナビゲーションバーが白くなります。移動を完了せずにディテールビューコントローラーにとどまると、ナビゲーションバーが白くなります。 このGIFがより良い状況を示しています。私は、ビューをドラッグしようとすると、ユーザーがドラッグするとナビゲーションバーの色合いが変わります

ので

、どのように私は白い色を回す上のナビゲーションバーを避けることができますか?

UPDATE:メインビューコントローラで :詳細ビューコントローラで

-(void)viewWillAppear:(BOOL)animated{ 
    [super viewWillAppear:YES]; 
    self.navigationController.navigationBar.translucent = NO; 
    self.navigationController.navigationBar.barTintColor = [UIColor whiteColor]; 
} 

- (void)viewWillAppear:(BOOL)animated{ 
    [super viewWillAppear:animated]; 
    self.navigationController.toolbarHidden = YES; 
    self.navigationController.toolbar.tintColor = [UIColor clearColor]; 
} 
- (void)viewDidLoad{ 
    [super viewDidLoad];  
    self.navigationController.navigationBar.translucent = YES; 
} 
+0

いくつかのコードを表示できますか?どのようにいつあなたのナビゲーションバーの色を設定しますか? – Randy

+0

@Randy私はちょうどいくつかのコードで質問を編集しました。 –

+1

あなたは 'viewDidLoad'と' viewWillAppear'であなたがやっていることを 'viewDidAppear'に動かすことができますか? (あなたの詳細ビューコントローラで) – Randy

答えて

1

あなたはviewDidAppearにのviewDidLoadにし、viewWillAppearに入れて何を移動する必要があります(あなたの詳細ビューコントローラ)

0

詳しくは、View Controller:ViewWillApperメソッドの下のコードを追加してください。

[self.navigationController.navigationBar setBackgroundImage:[UIImage new] 
               forBarMetrics:UIBarMetricsDefault]; 
self.navigationController.navigationBar.shadowImage = [UIImage new]; 
self.navigationController.navigationBar.translucent = YES; 
UIView *bg = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 60)]; 
bg.backgroundColor = [UIColor yellowColor]; 
[self.view addSubview:bg]; 
関連する問題