我正在试验 iOS SDK,我有以下UIView
结构:
UIView
UIImageView
- 只有一张背景图片UIImageView
(带着CALayer
面具)UIScrollView
Label
结构很简单,UIScrollView
一是透明层,二是上面UIImageView
有遮罩。我想要做的是CALayer
掩码会根据滚动视图中内容的位置移动它的位置。如果用户滚动,面具的位置应该被更新。我已经通过使用UIScrollView
的委托解决了这个问题:
- (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 的限制?