iOS标签切换视差效果

作者: HJaycee | 来源:发表于2017-04-28 11:26 被阅读283次
最终效果

仔细观察,可以发现绿色控件在移动过程中与文字重合的地方字体颜色会跟着改变。

其实,界面的结构是这样的。

结构图

使用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;
}

源码下载地址

相关文章

网友评论

    本文标题:iOS标签切换视差效果

    本文链接:https://www.haomeiwen.com/subject/nxmozttx.html