iOS标签切换视差效果
2017-04-28 本文已影响283人
HJaycee
最终效果
仔细观察,可以发现绿色控件
在移动过程中与文字重合
的地方字体颜色会跟着改变。
其实,界面的结构是这样的。
结构图使用CADisplayLink
监听绿色控件的实时状态
CADisplayLink *link = [CADisplayLink displayLinkWithTarget:self selector:@selector(updateTopView)];
[link addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSRunLoopCommonModes];
对顶层控件进行裁剪
- (void)updateTopView {
CALayer *layer = self.moveView.layer.presentationLayer;
if (!layer) {
layer = self.moveView.layer;
}
CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
CGRect maskRect = layer.frame;
CGPathRef path = CGPathCreateWithRect(maskRect, NULL);
maskLayer.path = path;
CGPathRelease(path);
self.topView.layer.mask = maskLayer;
}
源码下载地址