web-dev-qa-db-fra.com

Comment modifier la taille et la couleur de la police du texte UIAlertAction

Comment modifier UIAlertAction la taille et la couleur du texte? J'ai pris un UIAlertController selon comment modifier la taille. Ce code je smy

UIAlertController *controller = [UIAlertController alertControllerWithTitle:@"Do you wish to logout?" message:@"" preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction *logOut = [UIAlertAction actionWithTitle:@"Log Out" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {}];

Maintenant, je veux mon texte "Déconnexion" avec une taille de police 22 et une couleur verte et en semi-gras.

15
naomi

Vous pouvez mettre à jour la couleur du texte en utilisant

       UIAlertAction *myGoalAction = [UIAlertAction
                                    actionWithTitle:NSLocalizedString(@"My Title", @"My Title")
                                    style:UIAlertActionStyleDefault
                                    handler:^(UIAlertAction *action)
                                    {

                                    }];
       [myGoalAction setValue:[UIColor greenColor] forKey:@"titleTextColor"];

Il n'y a aucun moyen efficace de mettre à jour la taille de la police. Je vous suggère d'utiliser une taille de police standard.

L'étiquette de titre UIAlertAction est une variable privée et n'est pas accessible directement. L'étiquette se trouve dans une hiérarchie de vues privées à 3 niveaux. Afficher l'action de déconnexion avec une police plus grande est logique pour l'application.

Il existe de nombreuses solutions open source, je recommanderai d'essayer this

39
kaushal

Changer la couleur est assez simple.

Vous pouvez simplement changer la teinte de la vue sous-jacente, cependant, en raison d'un bogue connu introduit dans iOS 9 ( https://openradar.appspot.com/22209332 ), la teinte est remplacée par l'application tintColor de la fenêtre.

Voir ma réponse complète à: Comment changer la couleur de teinte de UIAlertController


Vous ne devez pas modifier la police UIAlertController. Cependant, cela peut encore être fait, voir cette réponse

1
guidev