2009-08-14 16 views
6

Wykonywanie jak najmniejszej miksowania alfa jest ważnym aspektem wydajności dla komórek widoku tabeli na iPhone. Mam komórki tabeli, które w dużej mierze składają się z jednego dużego widoku obrazu. Ustawiłem UIImageView jako nieprzezroczysty, zarówno w programie Interface Builder, jak i programowo, ale narzędzie CoreAnimation nadal pokazuje, że jest mieszane alfa.Problemy z tworzeniem UIImageView opaque na iPhonie

Czy istnieje sposób, aby UIImageViews rzeczywiście nieprzejrzysty, lub czy będę musiał zrobić niestandardowy rysunek, aby uniknąć mieszania?

+0

Jaki rodzaj obrazu ładujesz w swoim widoku? Jeśli jest to PNG lub inny format z obsługą alfa, Core Animation może mieszać widok ze względu na jego obraz. – Tim

+0

Jest to obraz PNG (zalecany format obrazu iPhone'a, IIRC), ale nie ma żadnych przezroczystych pikseli. – qwzybug

+0

Czy są one mieszane z rzeczywistym widokiem lub zawartością widoku? Czy którakolwiek z opcji w inspektorze pozwala ustawić nieprzezroczystość tła, koloru lub stylu? Czy jest to właściwość, którą możesz ustawić w czasie wykonywania? – TheJacobTaylor

Odpowiedz

0

[yourImageView setOpaque:YES];

+0

'setOpaque' jest wskazówką dla systemu rysowania. Podczas testowania pokazuje, że nie ma to żadnego wpływu. – Berik

5

Jest wielce prawdopodobne, że obraz zawiera kanał alfa. Mimo że obraz jest nieprzejrzysty, system iOS traktuje go jako półprzezroczysty. Spróbuj usunąć ten kanał alfa za pomocą programu Photoshop, przechodząc do: Warstwa> Tło z warstwy

Powiązane problemy