UIView: opaque vs. alpha vs. opacity

Jak opaque alpha A nieprzezroczystość tła działa razem dla UIView i jakie są różnice między nimi?

UIView http://i.minus.com/jb2IP8TXbYTxKr.png

Author: Besi, 2011-12-15

2 answers

opaque oznacza to, że nie rysuj niczego pod spodem, nawet jeśli jesteś przezroczysty.

Alfa koloru tła wpływa tylko na przezroczystość koloru tła, a nie na nic innego narysowanego w widoku.

alpha wpływa na wszystko narysowane na widoku.


Nieprzezroczysta właściwość może zwiększyć prędkość - jeśli wiesz, że twój widok nigdy nie będzie miał przezroczystości, możesz ustawić to na YES i kiedy iOS renderuje twój widok, może to sprawić, że wydajność optymalizacji i renderowania go szybciej. Jeśli jest ustawiona na NO iOS będzie musiał połączyć widok z widokiem pod spodem, nawet jeśli nie zawiera żadnej przezroczystości.

Alfa wpłynie również na alfa koloru tła, tzn. jeśli kolor tła jest 0,5 przezroczysty, a alfa jest również 0,5, ma to wpływ na alpha widoku tła 0,25 ( 0,5 * 0,5).

 118
Author: deanWombourne,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-04-29 18:59:11

Do bardzo dobrej Odpowiedzi by deanWombourne warto dodać, że jeśli nie rysujesz własnej treści za pomocą metody drawRect:, właściwość nieprzezroczysta nie ma żadnego wpływu.

Apple ' s doc :

Musisz tylko ustawić wartość właściwości nieprzezroczyste w podklasach UIView that narysuj własną treść używając metody drawRect:. Na nieprzezroczysta właściwość nie ma wpływu na klasy dostarczane przez system takie jak UIButton, UILabel, UITableViewCell i tak dalej.

Jeśli rysujesz własne treści, pamiętaj, że nieprzezroczyste to tylko podpowiedź

Ta właściwość zapewnia podpowiedź do systemu rysowania Jak to powinien traktować widok.

I jeszcze kilka wskazówek z tego samego dokumentu Apple:

Jeśli widok jest nieprzezroczysty i nie wypełnia jego granic lub zawiera całkowicie lub częściowo przejrzystych treści, wyniki są nieprzewidywalne. Należy zawsze ustawić wartość tej właściwości NA NO jeśli widok jest całkowicie lub częściowo przezroczysty.

 5
Author: Mikolaj,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:03:02