倒影效果

    [[[self view] layer] setBackgroundColor:[[UIColor blackColor] CGColor]];

    

    UIImage *balloon = [UIImage imageNamed:@"dengni37.jpg"];

    

    //图片层

    

    CALayer *topLayer = [[CALayer alloc] init];

    topLayer.bounds = CGRectMake(0.0, 0.0, 220.f, 140.f);

    [topLayer setPosition:CGPointMake(160.f, 120.f)];

    [topLayer setContents:(id)[balloon CGImage]];

    [[[self view] layer] addSublayer:topLayer];

    

    //图片阴影层

    

    CALayer *reflectionLayer = [[CALayer alloc] init];

    [reflectionLayer setBounds:CGRectMake(0.0f, 0.0f, 320.0-100.0, 100.f)];

    [reflectionLayer setPosition:CGPointMake(160.0f, 265.f)];

    [reflectionLayer setContents:[topLayer contents]];

//    [reflectionLayer setValue:[NSNumber numberWithFloat:180.0] forKeyPath:@"transform.rotation.x"];

    reflectionLayer.transform = CATransform3DMakeRotation(-M_PI,1,0,0);

    

    //渐变层

    

    CAGradientLayer *gradientLayer = [[CAGradientLayer alloc] init];

    [gradientLayer setBounds:[reflectionLayer bounds]];

    [gradientLayer setPosition:CGPointMake([reflectionLayer bounds].size.width/2, [reflectionLayer bounds].size.height/2)];

    [gradientLayer setColors:[NSArray arrayWithObjects: (id)[[UIColor clearColor] CGColor],(id)[[UIColor blackColor] CGColor], nil]];

    [gradientLayer setStartPoint:CGPointMake(0.5,0.0)];

    [gradientLayer setEndPoint:CGPointMake(0.5,1.0)];

    [reflectionLayer setMask:gradientLayer];

    

    [[[self view] layer] addSublayer:reflectionLayer];

原文地址:https://www.cnblogs.com/ldc529/p/3924788.html