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: P >
P>
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? P>
4 Réponses :
Définir le teintcolor code> et BartinColor code> dans la barre de navigation: teintcolor code> est pour la navigation Articles d'articles et de barres
Bartincolor Code> Si pour la barre de navigation Fond. P> P>
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.
Définissez cette propriété sur le modal avant ouverture, quelque chose comme: Pourriez-vous vous fournir un code pour que nous puissions voir ce que vous essayez maintenant? p> p>
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();
}
}];
}
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. P>