您的位置:首页 > 移动开发 > IOS开发

IOS实现图片倒影效果

2017-01-14 16:11 405 查看
#import <QuartzCore/QuartzCore.h>  

- (void)viewDidLoad  

{  

    [super viewDidLoad];  

  

      

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

      

    UIImage *balloon = [UIImage imageNamed:@"app3.png"];  

      

    //图片层  

      

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

      

    [topLayer setBounds:CGRectMake(0.0f, 0.0f, 320-100.0, 240-100)];   

      

    [topLayer setPosition:CGPointMake(160.0f, 120.0f)];   

      

    [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, 240.0-100)];   

      

    [reflectionLayer setPosition:CGPointMake(160.0f, 310.0f-100)];  

      

    [reflectionLayer setContents:[topLayer contents]];  

      

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

      

    //渐变层  

      

    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.35)];   

      

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

      

    [reflectionLayer setMask:gradientLayer];  

      

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

    // Do any additional setup after loading the view, typically from a nib.  

}  

转载自 http://blog.csdn.net/zhibudefeng/article/details/7677239
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: