Внешний вид UIAlertController - PullRequest
       19

Внешний вид UIAlertController

0 голосов
/ 14 декабря 2018

Я хочу стилизовать внешний вид моего AlertController в приложении, используя внешний вид.Он хорошо работает для фона и кнопок, но независимо от того, что я пытаюсь, ярлыки для заголовка и сообщения всегда остаются черными.

Вот что я делаю:

UIView.appearance(whenContainedInInstancesOf: [UIAlertController.self]).tintColor = .orange
UIVisualEffectView.appearance(whenContainedInInstancesOf: [UIAlertController.self]).effect = UIBlurEffect(style: .dark)
UILabel.appearance(whenContainedInInstancesOf: [UIAlertController.self]).textColor = .white

Этоэто результат, который я получаю:

enter image description here

Любые идеи, как я могу установить цвет заголовка и сообщения, или почему изменение внешнего вида UILabel не даетработать в этом случае?

1 Ответ

0 голосов
/ 14 декабря 2018

Самый простой подход: не надо.

Вам совершенно не нужно ограничиваться использованием UIAlertController и его простого внешнего вида и содержимого по умолчанию.В конце концов, это всего лишь представленный контроллер представления.Это означает, что you может написать свой собственный представленный контроллер представления, который выглядит и ведет себя почти как UIAlertController и его представление, за исключением того, что теперь вы полностью отвечаете за его содержимое!

Это намного лучшепроще и надежнее написать собственный контроллер представления, похожий на предупреждение, чем пытаться взломать представление UIAlertController;первое абсолютно законно, а второе, помимо ненадежности, может запретить ваше приложение в App Store.

...