2017-09-11 26 views
0

My init ViewControllerは、ステータスバーの色合いを白色で表示します。iOS変更文書ピッカーステータスバーの色が変更されない

私は、AlertertAction、presentViewControllerをクリックする必要があります。私のUIDocumentPickerViewControllerステータスバーの色合いが黒色に変わります。

... 
    cloudAction = [UIAlertAction 
       actionWithTitle:@"from cloud" 
       style:UIAlertActionStyleDefault 
       handler:^(UIAlertAction * action) 
       { 
       [UINavigationBar appearance].tintColor = [UIColor blackColor]; 
        [self presentViewController:cloudPicker animated:YES completion:nil]; 
       }]; 
... 

そして、私のviewwillappear方法は、それは非常に奇妙である

-(void) viewWillAppear:(BOOL)animated{ 
      [super viewWillAppear:animated]; 

       [UINavigationBar appearance].tintColor = [UIColor whiteColor]; 

     } 

を設定します。アラートをクリックすると、私のクラウドピッカー(UIDocumentPickerViewController)が表示され、統計色はまだwhiteColor(UIDocumentPickerViewController上)に表示され、ピッカーのキャンセルをクリックすると、ビューコントローラは白い色ではなく黒色を変更しました。

アラートアクションをクリックしたときの色の変更方法、ピックステータスバーの色合いが変更(黒色に変更)され、ステータスバーの色合いが変わってもピッカーがオフになりました。

ありがとうございます。

+0

'cancel'を押すと、' viewWillAppear'メソッドが呼び出されますか? – 3stud1ant3

+0

はい、ビューが呼び出されたメソッドが呼び出されます。そして、私は "[UINavigationBar appearance] .tintColor = [UIColor blackColor];と設定しました。黒色ではなく、すぐに黒色ではなく、雲色のステータスバーの色合いの色はまだ白い色です。 – dickfala

+0

'tintColor'の代わりに' barTintColor'を試してみてください。 – 3stud1ant3

答えて

0

UINavigationBarのtitleTextAttributesを変更しようとしましたか?

UINavigationBar.appearance().titleTextAttributes = [NSForegroundColorAttributeName: UIColor.black] 
関連する問題