2014-09-28 18 views
7

Başka bir görünümün alt görünümü olarak bir görüşüm var, sonra babanın alfa değerini 0,5 gibi bir şey olarak ayarladım, ancak bu alfa değeri 1'e ayarlandığında bile alt görünümü saydamlaştırıyor. Peki nasıl yapabilirim? alt görünümü şeffaf olmayan (opak), babasının görünümü 1'den küçük bir alfa değerine sahip olduğunda?iOS şeffaf bir görünümün alt görünümü nasıl yapılır?

+1

Burada yeni biriyim, kimse bana sormamın neden reddedildiğini söyleyebilir miydi? Sonra gelecekteki sorularımda böyle bir sorunu önleyebilirim. – axl411

+1

@JoeBlow Böylesine ayrıntılı bir cevap için teşekkürler! – axl411

+0

Basit çözümü unutma, sadece B'yi bu görüşten bir çocuk yapmayın. B'yi, her ikisini de tutan, ancak B'nin üzerinde bir "tutucu" olan bir çocuk yapın. – Fattie

cevap

15

Almak için en yakın olan colorWithAlphaComponent:. Aşağıdakine benzer bir şey kullanarak, ana görünümün arka planının alfa bileşenini ayarlayabilir ve alt görünümleri etkilemez.

[yourSuperview setBackgroundColor:[[UIColor blackColor] colorWithAlphaComponent:0.5]]; 
+0

Bu benim sorunumu çözdü, thx! – axl411

1

Üst görünümü 0,5 olarak ayarlarsanız, tüm alt görünümler de 0,5 veya daha azına gider. Farklı bir tasarım yaklaşımı ile gelmeniz gerekecek.

0

Ebeveyn görünümü için iki tasarımınız olmalıdır. Biri "etkin" tasarım, olduğu gibi gösteriliyor, diğeri ise şeffaf arka plan içerecek olan "engelli" tasarım olurdu.

Alt görünümler alfa'yı devraldığı için bunu alfa ile yapamazsınız. Eğer

parent.alpha = X

ve

view.alpha = y

sonra bakış gerçek alfa olacaktır:

x * y

+0

Neden bu kadar karmaşık .. ?? Daha iyi bir yaklaşım için diğer cevaplara göz atın – ATV

0

Bence, Storyboard ile Görünüm oluşturdunuz. Bu problemle zaten karşılaşmıştım. Aşağıdaki kodu bulun, bu benim durumumda doğru.

Umut, Bu size yardımcı olabilir.

İlgili konular