6
votes

Comment définir la couleur de la barre de navigation lorsque l'utilisateur tape "plus" sur l'uactivitéviewController?

Chaque fois que l'utilisateur souhaite sélectionner une nouvelle méthode de partage ou une nouvelle action qui n'est pas répertorie par défaut, en appuyant sur le bouton "Plus" de la feuille d'actions générée UIACTICTICititViewController, une nouvelle vue est affichée, quelque chose comme ceci:

VUE Suivi

Comme vous pouvez le constater, la barre de navigation Itens est blanche, tandis que son arrière-plan est un gris clair. Comment puis-je changer ces couleurs pour refléter mon UI d'application?


0 commentaires

4 Réponses :


0
votes

Définir le teintcolor et BartinColor dans la barre de navigation: xxx

teintcolor est pour la navigation Articles d'articles et de barres Bartincolor Si pour la barre de navigation Fond.


1 commentaires

Cela modifie la barre lors de la feuille de partage, mais lorsque le bouton "Plus" est taraudé, un modal s'ouvre avec une couleur de barre différente.



1
votes

Définissez cette propriété sur le modal avant ouverture, quelque chose comme: xxx

Pourriez-vous vous fournir un code pour que nous puissions voir ce que vous essayez maintenant?


0 commentaires

5
votes

J'ai fait cela et cela fonctionne pour moi:

sublclass uiactittitivitévoller code> et remplacement - (void) PresentViewController: animé: achèvement: code> p>

- (void)presentViewController:(UIViewController *)viewControllerToPresent animated:(BOOL)flag completion:(void (^)(void))completion {
[viewControllerToPresent.view setTintColor:[[UINavigationBar appearance] tintColor]];
for (UIView *view in viewControllerToPresent.view.subviews) {
    if ([view isKindOfClass:[UINavigationBar class]]) {
        UINavigationBar *navigationBar = (UINavigationBar*)view;
        UIImage *navigationBarImage = [[UINavigationBar appearance] backgroundImageForBarPosition:UIBarPositionAny barMetrics:UIBarMetricsDefault];
        [navigationBar setBackgroundImage:navigationBarImage forBarPosition:UIBarPositionAny barMetrics:UIBarMetricsDefault];
        [navigationBar setTitleTextAttributes:[[UINavigationBar appearance] titleTextAttributes]];
    }
}

[super presentViewController:viewControllerToPresent animated:flag completion:^{
    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
    if (completion) {
        completion();
    }
}];
}


0 commentaires

0
votes

Vous utilisez probablement des sélecteurs uappearance pour modifier toutes les barres de navigation sur votre application en l'appelant sur la classe. Au lieu de cela, appelez les méthodes d'apparence sur des objets individuels, qui permettront de réparer les barres de navigation du système d'être colorées comme celle-ci.


0 commentaires