iOS标签切换视差效果

最终效果

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

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

结构图

使用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 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,195评论 4 61
  • 这就是生活么? 所有的委屈在你觉的委屈的时候会被无限放大,甚至会让你觉得生无可恋。但我庆幸,我还没有失去理智,因为...
    专职爱人alan阅读 1,820评论 0 0
  • 种地是见天见地见自性的过程,故求真求慢求拙求少。时间紧,我却写的散漫。人生不过一碗饭,一念间。 干净平常的菜蔬米饭...
    王陆良阅读 2,854评论 0 1
  • 语言的流利是自使用的那一刻开始的,用自己已经掌握的词汇开始遣词造句,自由的表达自己的想法。 这一观念的出现,颠覆了...
    在装翅膀的猪阅读 988评论 1 4