2017-09-11 3 views
0

Mon ViewController init affichera la couleur de la barre d'état avec la couleur blanche.iOS Changer la couleur de la barre d'état du sélecteur de document

J'ai besoin de cliquer sur AlertertAction, presentViewController ma couleur de la barre d'état UIDocumentPickerViewController changera la couleur noire.

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

Et Ma méthode de viewWillAppear mis

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

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

     } 

il est très étrange. Quand je clique sur l'alerte, montre mon sélecteur de nuage (UIDocumentPickerViewController), la couleur de la tinte stats whiteColor (sur UIDocumentPickerViewController), puis clique sur le sélecteur cancel, mon contrôleur de vue change la couleur noire, pas la couleur blanche. Quelqu'un sait comment changer la couleur quand je clique sur l'action d'alerte, la couleur de la barre de sélection des couleurs change (changée en couleur noire), et rejette sélecteur, mon contrôleur de vue encore blanc à la couleur de la barre d'état.

merci beaucoup.

+0

Lorsque vous appuyez sur 'cancel', la méthode' viewWillAppear' est-elle appelée? – 3stud1ant3

+0

oui, la vue apparaîtra méthode est appelée. Et c'est très étrange, j'ai mis "[apparence UINavigationBar] .tintColor = [UIColor blackColor];" couleur noire, afficher la couleur de la barre d'état cloudPicker couleur encore blanc, pas la couleur noire immédiatement. – dickfala

+0

s'il vous plaît essayer 'barTintColor' au lieu de' tintColor' et voir quel est le comportement? – 3stud1ant3

Répondre

0

Avez-vous essayé de modifier titleTextAttributes de UINavigationBar?

UINavigationBar.appearance().titleTextAttributes = [NSForegroundColorAttributeName: UIColor.black]