Я часами пробовал каждое решение, перечисленное на этом сайте, чтобы добиться прозрачности для работы на UIPopoverController
, содержащем GROUPED UITableView
- ни один из которых не работал для меня:
- Поместите всплывающее окно в родительское представление и измените альфа в этом представлении. (FAILED)
- Изменение альфа для различных комбинаций подпредставлений (фон табличного представления, ячейки табличного представления, фон всплывающего окна и т. Д.)
- Добавить фоновые изображения в ячейки и изменить альфа на них. (FAILED)
- Наконец: измените альфа на КАЖДОМ представлении в иерархии, начиная с представления всплывающего контента (СБОЙ)
В поповере есть представление черного корня с альфа-значением 1,0, и не имеет значения, что вы делаете с подпредставлениями (или если вы добавляете его в суперпредставление), прозрачность не работает. Итак, я сканировал иерархию представлений (методом проб и ошибок), пока не добрался до этого проклятого черного представления и явно установил ITS альфа. Успех! Все, что мне нужно было добавить, это одна строка кода ПОСЛЕ того, как всплывающее окно было видно:
self.popoverController.contentViewController.view.superview.superview.superview.alpha = 0.5;
N.B. Это решение, скорее всего, перестанет работать, когда Apple сделает обновления до UIPopoverController
, поэтому используйте на свой страх и риск!