Это не вопрос, потому что я просто решил проблему, но я думаю, что характер проблемы распространен для многих разработчиков iPhone, и решение на самом деле не было явно очевидным, поэтому я хотел поделитесь своим опытом. Чтобы сохранить формат «вопрос/ответ» StackOverflow, я собираюсь рассказать о деталях в вопросе и моем решении в ответ.Производительность прокрутки UITableView с помощью маски CALayer +
Деталь:
У меня была TableView полного клеток с двумя метками и контролем пользовательского тумблер я ставлю вместе с нуля. Если бы я спрятал управление переключением, табличное представление прокручивалось как чемпион. Тем не менее, с показанным контролем переключения, прокрутка была болезненно прерывистой/медленной на iPhone 3G. У моих табличных ячеек нет прозрачных компонентов (кроме маски для слоя), и я повторно использую ячейки.
Пользовательский переключатель управления расширяет UIButton, а его слой состоит из двух компонентов: UIImageView, который содержит скользящую «переключающую» часть переключателя и удлиненный эллипс, который используется в качестве маски, с фоном, нарисованным за слоем в -drawRect:
,
Как я исправился? Ответ скоро ...