Каков самый простой способ сделать UIAlertView окрашенным в другой цвет?

StackOverflow https://stackoverflow.com/questions/1869940

  •  18-09-2019
  •  | 
  •  

Вопрос

В моем приложении используется черная панель навигации и другие пользовательские цвета для различных компонентов пользовательского интерфейса, а представления предупреждений с темно-синим оттенком выглядят совершенно неуместно.

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

Я не против создания UIImage, поскольку понимаю, что единственный способ изменить фон — это использовать UIImage, но все мои попытки (на основе вопроса 1 ниже) просто создают сплошной черный прямоугольник позади представления предупреждения ( углы не закруглены.)

Связано, но не дублируется:

  1. как изменить цвет фона UIAlertView?
  2. как изменить цвет UIAartView?

Первый использует изображение «Background.png», чтобы установить его в качестве фона.Второй вопрос связан с первым и утверждает, что ФП не должен этого делать.

Это было полезно?

Решение 2

Поскольку UIAlertView не позволяет изменять цвет фона через какой-либо общедоступный API, единственный способ настроить цвет фона — создать подкласс UIAlertView.

Другие советы

Тот факт, что для этого не существует API-хуков, должен быть тревожным сигналом — вам не следует этого делать.Он не использует частные API (что приведет к отказу), но использует недокументированное поведение, против которого Apple не советует.Фактически, на прошлой неделе на техническом разговоре об iPhone евангелист Apple Dev специально предупредил меня, чтобы я не делал подобных вещей, потому что в будущем они сломаются.

Если вы действительно хотите делать что-то свое, когда дело доходит до UIAlertViews, вам следует создать свое собственное представление и представить его через контроллер модального представления.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top