Программирование iPhone: применение альфа к родителям, но не для детей.

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

  •  21-09-2019
  •  | 
  •  

Вопрос

Можно ли установить альфа на 0,75 или .50 (прозрачный) для родительского представления, но представления/контрольные представления ребенка непрозрачны (альфа -канал 1.0 - полностью видимый).

Всякий раз, когда я устанавливаю альфа из моей основной Uiview для прозрачного, все представления/элементы управления также показаны как прозрачные. Есть обходной путь?

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

Решение

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

Это выглядело бы так.

  • <item-container>
    • <item-background>
    • <children-container>
      • <children/>

Эта иерархия будет иметь такой же порядок видимости и позволить вам установить непрозрачность независимо от содержимого детского контейнера.

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

Один более простой способ также возможен, не делая взглядов братьев и сестер. Не устанавливайте альфа непосредственно на родительский вид. Вместо этого используйте

[parentView setBackgroundColor:[[UIColor clearColor] colorWithAlphaComponent:0.5]];

Теперь любой вид на ребенка может иметь свой собственный цвет и не будет прозрачным.

В Swift это будет

parentView.backgroundColor = UIColor.clearColor().colorWithAlphaComponent(0.7)

Я знаю, что это поздний ответ, и что -то уже было принято, но я нашел лучшее решение для меня - не установить UIViewПрозрачность напрямую, но вместо этого установите цвет фона до 0,0,0,0, что делает цвет полностью прозрачным.

Не на 100% уверен, что вы пытаетесь сделать, но если вы хотите иметь представление о контейнере с прозрачным фоном, вы можете сделать это, установив свойство FounalColor для [uicolor clearcolor]. Таким образом, вы можете видеть сквозь фон, но все подписания останутся непрозрачными. Если вы хотите, чтобы фон был полупрозрачным, просто используйте [Uicolor Colorwithed: Green: Blue: Alpha:].

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

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