uiview图片倒影设置
2014-03-06 17:35
267 查看
今天搞图片浏览部分 要实现图片倒影在网上找了找 下了个demo 把关键的 实现记录下来:
// 添加layer及其“倒影”
- (UIView *)showImageAndReflection:(CALayer*)layer
{
//
制作reflection
CALayer *reflectLayer = [CALayer
layer];
reflectLayer.contents = layer.contents;
reflectLayer.bounds = layer.bounds;
reflectLayer.position =
CGPointMake(layer.bounds.size.width/2, layer.bounds.size.height*1.5);
reflectLayer.transform =
CATransform3DMakeRotation(M_PI,
1, 0,
0);
//
给该reflection加个半透明的layer
CALayer *blackLayer = [CALayer
layer];
blackLayer.backgroundColor = [UIColor
blackColor].CGColor;
blackLayer.bounds = reflectLayer.bounds;
blackLayer.position =
CGPointMake(blackLayer.bounds.size.width/2, blackLayer.bounds.size.height/2);
blackLayer.opacity =
0.6;
[reflectLayer
addSublayer:blackLayer];
//
给该reflection加个mask
CAGradientLayer *mask = [CAGradientLayer
layer];
mask.bounds = reflectLayer.bounds;
mask.position =
CGPointMake(mask.bounds.size.width/2,
mask.bounds.size.height/2);
mask.colors = [NSArray
arrayWithObjects:
(__bridge
id)[UIColor
clearColor].CGColor,
(__bridge
id)[UIColor
whiteColor].CGColor,
nil];
mask.startPoint =
CGPointMake(0.5,
0.35);
mask.endPoint =
CGPointMake(0.5,
1.0);
reflectLayer.mask = mask;
//
作为layer的sublayer
[layer
addSublayer:reflectLayer];
//
加入UICoverFlowView的sublayers
UIView *reView =[[UIView
alloc]init];
reView.bounds = layer.bounds;
[reView.layer
addSublayer:layer];
return reView;
}
// 添加layer及其“倒影”
- (UIView *)showImageAndReflection:(CALayer*)layer
{
//
制作reflection
CALayer *reflectLayer = [CALayer
layer];
reflectLayer.contents = layer.contents;
reflectLayer.bounds = layer.bounds;
reflectLayer.position =
CGPointMake(layer.bounds.size.width/2, layer.bounds.size.height*1.5);
reflectLayer.transform =
CATransform3DMakeRotation(M_PI,
1, 0,
0);
//
给该reflection加个半透明的layer
CALayer *blackLayer = [CALayer
layer];
blackLayer.backgroundColor = [UIColor
blackColor].CGColor;
blackLayer.bounds = reflectLayer.bounds;
blackLayer.position =
CGPointMake(blackLayer.bounds.size.width/2, blackLayer.bounds.size.height/2);
blackLayer.opacity =
0.6;
[reflectLayer
addSublayer:blackLayer];
//
给该reflection加个mask
CAGradientLayer *mask = [CAGradientLayer
layer];
mask.bounds = reflectLayer.bounds;
mask.position =
CGPointMake(mask.bounds.size.width/2,
mask.bounds.size.height/2);
mask.colors = [NSArray
arrayWithObjects:
(__bridge
id)[UIColor
clearColor].CGColor,
(__bridge
id)[UIColor
whiteColor].CGColor,
nil];
mask.startPoint =
CGPointMake(0.5,
0.35);
mask.endPoint =
CGPointMake(0.5,
1.0);
reflectLayer.mask = mask;
//
作为layer的sublayer
[layer
addSublayer:reflectLayer];
//
加入UICoverFlowView的sublayers
UIView *reView =[[UIView
alloc]init];
reView.bounds = layer.bounds;
[reView.layer
addSublayer:layer];
return reView;
}
相关文章推荐
- swift - UIView 设置背景色和背景图片
- 解决 UIView 设置背景为UIImage图片变型问题[XXX setBackgroundColor:[UIColor colorWithPatternImage:XXX]];
- iOS学习——UIView圆角图片的设置方法
- Swift - 设置UIView的背景色,背景图片
- Swift - 设置UIView的背景色和背景图片
- android设置图片为圆角,以及倒影
- IOS开发:关于设置UIView的背景为图片的方法以及问题
- ios-day15-05(Quartz 2D之一张图片以平铺或者填充的方式设置为UIView的背景、以填充的方式为UIView设置条纹背景)
- UITableViewCell 的Image设置了UIViewContentModeScaleAspectFill后图片超出去了
- 设置UIView的图片
- 设置UIView背景图片
- IOS中如何给UIView设置背景图片
- 设置UIView背景图片
- UIView设置背景图片
- iOS中 设置 uiview的背景图片 制定uiview的某个角为圆角
- UIView设置背景图片的注意点
- 如何加倒影?ps设置字体倒影图片
- IOS 给UIView 设置背景图片
- IOS开发:关于设置UIView的背景为图片的方法以及问题
- UIView设置背景图片的方法