code实现透明度渐变和颜色渐变的view
2014-11-20 15:36
501 查看
最近用code写了些view上的渐变效果,使得app的UI特效不必全部依赖美工出的图片。
效果如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/26/1adf643a7417e83e48d989d8a678d5db)
主要用到了Layer上的渐变层,核心代码如下,关于CALayer的使用可参考
[objc] view
plaincopyprint?
![](https://oscdn.geek-share.com/Uploads/Images/Content/201611/a7c8e286f463007e2a900848b93dd72c.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201611/9e12f1d3e499fc949c886e7c9e0484f9)
//Transparent Gradient Layer
- (void) insertTransparentGradient {
UIColor *colorOne = [UIColor colorWithRed:(33/255.0) green:(33/255.0) blue:(33/255.0) alpha:0.0];
UIColor *colorTwo = [UIColor colorWithRed:(33/255.0) green:(33/255.0) blue:(33/255.0) alpha:1.0];
NSArray *colors = [NSArray arrayWithObjects:(id)colorOne.CGColor, colorTwo.CGColor, nil nil];
NSNumber *stopOne = [NSNumber numberWithFloat:0.0];
NSNumber *stopTwo = [NSNumber numberWithFloat:1.0];
NSArray *locations = [NSArray arrayWithObjects:stopOne, stopTwo, nil nil];
//crate gradient layer
CAGradientLayer *headerLayer = [CAGradientLayer layer];
headerLayer.colors = colors;
headerLayer.locations = locations;
headerLayer.frame = self.bounds;
[self.layer insertSublayer:headerLayer atIndex:0];
}
//color gradient layer
- (void) insertColorGradient {
UIColor *colorOne = [UIColor colorWithRed:(255/255.0) green:(255/255.0) blue:(255/255.0) alpha:1.0];
UIColor *colorTwo = [UIColor colorWithRed:(33/255.0) green:(33/255.0) blue:(33/255.0) alpha:1.0];
NSArray *colors = [NSArray arrayWithObjects:(id)colorOne.CGColor, colorTwo.CGColor, nil nil];
NSNumber *stopOne = [NSNumber numberWithFloat:0.0];
NSNumber *stopTwo = [NSNumber numberWithFloat:1.0];
NSArray *locations = [NSArray arrayWithObjects:stopOne, stopTwo, nil nil];
CAGradientLayer *headerLayer = [CAGradientLayer layer];
headerLayer.colors = colors;
headerLayer.locations = locations;
headerLayer.frame = self.bounds;
[self.layer insertSublayer:headerLayer above:0];
}
效果如下:
主要用到了Layer上的渐变层,核心代码如下,关于CALayer的使用可参考
[objc] view
plaincopyprint?
![](https://oscdn.geek-share.com/Uploads/Images/Content/201611/a7c8e286f463007e2a900848b93dd72c.png)
//Transparent Gradient Layer
- (void) insertTransparentGradient {
UIColor *colorOne = [UIColor colorWithRed:(33/255.0) green:(33/255.0) blue:(33/255.0) alpha:0.0];
UIColor *colorTwo = [UIColor colorWithRed:(33/255.0) green:(33/255.0) blue:(33/255.0) alpha:1.0];
NSArray *colors = [NSArray arrayWithObjects:(id)colorOne.CGColor, colorTwo.CGColor, nil nil];
NSNumber *stopOne = [NSNumber numberWithFloat:0.0];
NSNumber *stopTwo = [NSNumber numberWithFloat:1.0];
NSArray *locations = [NSArray arrayWithObjects:stopOne, stopTwo, nil nil];
//crate gradient layer
CAGradientLayer *headerLayer = [CAGradientLayer layer];
headerLayer.colors = colors;
headerLayer.locations = locations;
headerLayer.frame = self.bounds;
[self.layer insertSublayer:headerLayer atIndex:0];
}
//color gradient layer
- (void) insertColorGradient {
UIColor *colorOne = [UIColor colorWithRed:(255/255.0) green:(255/255.0) blue:(255/255.0) alpha:1.0];
UIColor *colorTwo = [UIColor colorWithRed:(33/255.0) green:(33/255.0) blue:(33/255.0) alpha:1.0];
NSArray *colors = [NSArray arrayWithObjects:(id)colorOne.CGColor, colorTwo.CGColor, nil nil];
NSNumber *stopOne = [NSNumber numberWithFloat:0.0];
NSNumber *stopTwo = [NSNumber numberWithFloat:1.0];
NSArray *locations = [NSArray arrayWithObjects:stopOne, stopTwo, nil nil];
CAGradientLayer *headerLayer = [CAGradientLayer layer];
headerLayer.colors = colors;
headerLayer.locations = locations;
headerLayer.frame = self.bounds;
[self.layer insertSublayer:headerLayer above:0];
}
相关文章推荐
- code实现透明度渐变和颜色渐变的view
- code实现透明度渐变和颜色渐变的view
- code实现透明度渐变和颜色渐变的view
- iOS实现透明度渐变和颜色渐变的view
- 【iOS】View实现透明度渐变和颜色渐变
- android 数字选择器中文字颜色透明度渐变的实现
- Androiod RecycleView的滑动实现标题栏透明度渐变
- 实现背景颜色的渐变效果(code project)
- 随着RecycleView的滑动实现标题栏透明度渐变:
- 在view上添加渐变的透明度的颜色
- Android Textview实现文字颜色渐变效果
- Android Textview实现颜色渐变滚动效果
- TableView下拉表头放大 导航栏颜色透明度随着TableView偏移量渐变
- Android 属性动画 实现view翻转 旋转 平移 拉伸 透明度 背景颜色变换
- 简单的代码实现上滑导航栏颜色和透明度渐变效果
- 安卓中自定义view控件代替radiogroup实现颜色渐变效果的写法
- UnityEditor中建立两个Color,实现mesh的颜色渐变(Gradient)(GUI.changed,SceneView.RepaintAll())
- 实现透明度渐变和颜色渐变
- WebView+ColorMatrix实现图片颜色的渐变处理,例如老照片的效果。
- Android Textview实现文字颜色渐变效果