To naprawdę nie jest pytanie, ponieważ właśnie rozwiązałem problem, ale myślę, że charakter problemu jest wspólny dla wielu twórców iPhone'a, a rozwiązanie nie było tak oczywiste, więc chciałem podziel się moim doświadczeniem. Aby zachować format "pytanie/odpowiedź" StackOverflow, zamierzam umieścić w pytaniu szczegóły dotyczące pytania i moje rozwiązanie.Wydajność przewijania UITableView z CALayer + maska
Szczegóły:
miałem tableview pełne komórek z dwóch etykiet i kontroli zwyczaj przełącznik ułożyła od zera. Jeśli ukryłem kontrolę, widok tabeli przewinął się jak mistrz. Jednak przy wyświetlonej kontrolce przełączania przewijanie było boleśnie niepewne/wolne w telefonie iPhone 3G. Moje komórki widoku tabeli nie mają przezroczystych komponentów (innych niż maska dla warstwy) i ponownie używam komórek.
Niestandardowa kontrola przełączania rozszerza UIButton, a jego warstwa ma dwa komponenty - UIImageView, który zawiera przesuwającą się część przełącznika i podłużną elipsę, która jest używana jako maska, z tłem narysowanym za warstwą w -drawRect:
.
Jak to naprawić? Odpowiedź wkrótce ...