Перемещение маски CALayer при прокрутке в Scrollview

Я экспериментирую с iOS SDK и имею следующееUIView состав:

UIViewUIImageView - только фоновое изображениеUIImageView (сCALayer маска)UIScrollViewLabel

Очень простая структура,UIScrollView прозрачный слой и второйUIImageView имеет маску на нем. То, что я пытаюсь сделать, это то, чтоCALayer маска будет двигатьсяположение в соответствии с положением содержимого в представлении прокрутки. Если пользователь прокручивает, замаскируйтеПозиция должна быть обновлена. Я уже решил эту проблему с помощьюUIScrollViewS делегат:

- (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?

Ответы на вопрос(1)

Ваш ответ на вопрос