您的位置:首页 > 产品设计 > UI/UE

[iOS]实现UIView的背景渐变

2017-04-06 10:05 267 查看


我们经常需要把UIView的背景色设置为渐变色,虽然找一张渐变的背景图很方便,但是图片是要占用资源的,所以我们最好使用代码来实现效果。

我们使用的是CAGradientLayer来实现这个效果。


上代码

[code]    //实现背景渐变

//初始化我们需要改变背景色的UIView,并添加在视图上
self.theView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, 200)];
[self.view addSubview:self.theView];

//初始化CAGradientlayer对象,使它的大小为UIView的大小
self.gradientLayer = [CAGradientLayer layer];
self.gradientLayer.frame = self.theView.bounds;

//将CAGradientlayer对象添加在我们要设置背景色的视图的layer层
[self.theView.layer addSublayer:self.gradientLayer];

//设置渐变区域的起始和终止位置(范围为0-1)
self.gradientLayer.startPoint = CGPointMake(0, 0);
self.gradientLayer.endPoint = CGPointMake(0, 1);

//设置颜色数组
self.gradientLayer.colors = @[(__bridge id)[UIColor blueColor].CGColor,
(__bridge id)[UIColor redColor].CGColor];

//设置颜色分割点(范围:0-1)
self.gradientLayer.locations = @[@(0.5f), @(1.0f)];

[/code]


注意

渐变区域的范围是 (0,0) -> (1,1)

渐变层要添加在需要渐变视图的layer层
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: