Перемещение маски CALayer при прокрутке в Scrollview
Я экспериментирую с iOS SDK и имею следующееUIView
состав:
UIView
UIImageView
- только фоновое изображениеUIImageView
(сCALayer
маска)UIScrollView
Label
Очень простая структура,UIScrollView
прозрачный слой и второйUIImageView
имеет маску на нем. То, что я пытаюсь сделать, это то, чтоCALayer
маска будет двигатьсяположение в соответствии с положением содержимого в представлении прокрутки. Если пользователь прокручивает, замаскируйтеПозиция должна быть обновлена. Я уже решил эту проблему с помощьюUIScrollView
S делегат:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
CGPoint contentOffset = scrollView.contentOffset;
contentOffset.y = -contentOffset.y;
self.overlayImageView.viewlayer.mask.position = contentOffset;
}
Маска создана вviewDidLoad
и не изменяется во время просмотра контроллеражизненный цикл
Проблема в том, что обновление позиции маски происходит слишком медленно. Таким образом, маска выглядит после прокруткисодержание, не прокручивая его.scrollViewDidScroll
Метод делегата вызывается правильно.
Чтобы вы лучше поняли проблему, я прилагаю видео, которое я сделал в симуляторе iOS.http://www.youtube.com/watch?v=w3xRl3LTngY
Итак, вопрос:
Есть ли способ сделать обновление маски быстрее или это предел iOS?