Другая альфа для подпредставлений в одном контейнере - PullRequest
2 голосов
/ 10 ноября 2009

У меня есть вопрос, похожий на Можете ли вы переопределить альфа-значение родительского UIView в одном из его подпредставлений?

В некоторых случаях я хочу отображать пользовательские полупрозрачные полноэкранныеналожение вид на текущий вид.Хитрость заключается в том, что я хочу, чтобы в верхней части была настраиваемая панель навигации, а также какое-то другое содержимое (пусть это будет метка), и мне бы хотелось, чтобы панель навигации была непрозрачной, т.е. закрашивала все на исходном виде.В то же время я хотел бы, чтобы все остальное содержимое было полупрозрачным.Я не хочу вмешиваться в панель навигации основного вида, потому что панель навигации вообще может отсутствовать.Я хотел бы создать один контейнерный вид с панелью навигации и всем другим содержимым и добавить его в окно.Но ни одна из комбинаций цвета фона и альфа-канала для контейнера, панели навигации и содержимого, которое я могу придумать, не работает.

Вопрос, который я нашел, говорит о том, что это невозможно, если контейнер не является непрозрачным.Мой случай может быть немного другим, потому что между прозрачными и непрозрачными частями есть простая граница.Поэтому я все еще надеюсь, что есть какой-то легкий путь.Или мне все равно нужно отдельно управлять непрозрачной панелью навигации и прозрачным представлением содержимого?

Ответы [ 2 ]

1 голос
/ 10 ноября 2009

Если я правильно понимаю ваш вопрос, вы должны сделать свой контейнер полностью прозрачным (backgroundColor = [UIColor clearColor]) и добавить непрозрачную панель навигации и полупрозрачное представление содержимого в представление контейнера.

0 голосов
/ 10 ноября 2009

Редактировать: игнорировать этот ответ. Я неправильно понял вопрос.

Ответ предыдущего поста неправильный (как я понял вопрос.) Альфа для каждого отдельного представления устанавливается независимо. Вам нужно настроить альфа на нужный вам уровень при добавлении каждого представления в Интерфейсном Разработчике или после загрузки из пера.

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

...