Каков самый простой способ сделать UIAlertView окрашенным в другой цвет?
-
18-09-2019 - |
Вопрос
В моем приложении используется черная панель навигации и другие пользовательские цвета для различных компонентов пользовательского интерфейса, а представления предупреждений с темно-синим оттенком выглядят совершенно неуместно.
Я хотел бы сделать вид оповещения полупрозрачным черным, не прибегая к использованию файла изображения.
Я не против создания UIImage, поскольку понимаю, что единственный способ изменить фон — это использовать UIImage, но все мои попытки (на основе вопроса 1 ниже) просто создают сплошной черный прямоугольник позади представления предупреждения ( углы не закруглены.)
Связано, но не дублируется:
Первый использует изображение «Background.png», чтобы установить его в качестве фона.Второй вопрос связан с первым и утверждает, что ФП не должен этого делать.
Решение 2
Поскольку UIAlertView не позволяет изменять цвет фона через какой-либо общедоступный API, единственный способ настроить цвет фона — создать подкласс UIAlertView.
Другие советы
Тот факт, что для этого не существует API-хуков, должен быть тревожным сигналом — вам не следует этого делать.Он не использует частные API (что приведет к отказу), но использует недокументированное поведение, против которого Apple не советует.Фактически, на прошлой неделе на техническом разговоре об iPhone евангелист Apple Dev специально предупредил меня, чтобы я не делал подобных вещей, потому что в будущем они сломаются.
Если вы действительно хотите делать что-то свое, когда дело доходит до UIAlertViews, вам следует создать свое собственное представление и представить его через контроллер модального представления.