我创建了一个UIView
并添加了一个CAGradientLayer
来创建一个带有白色边框的渐变点。我到目前为止所做的工作,但似乎渐变并没有完全削减,有些仍然显示,这就是我的意思:
这就是它应该是的样子。
注意白色边框周围没有蓝色轮廓^。
以下是我用于生成视图的代码:
UIView *dot = [[UIView alloc] initWithFrame:CGRectMake(0, 0, width, width)];
dot.backgroundColor = [UIColor clearColor];
dot.clipsToBounds = YES;
CAGradientLayer *gradient = [CAGradientLayer layer];
gradient.frame = dot.bounds;
gradient.colors = @[(id)UIColorFromRGB(0x03a69b).CGColor, (id)UIColorFromRGB(0x039976).CGColor];
gradient.borderColor = [UIColor whiteColor].CGColor;
gradient.borderWidth = 4.0;
gradient.cornerRadius = width/2.;
[dot.layer insertSublayer:gradient atIndex:0];
答案 0 :(得分:0)
您可以为dot
视图设置图层属性,而不是设置为gradient
例如
UIView *dot = [[UIView alloc] initWithFrame:CGRectMake(60, 100, 100, 100)];
dot.backgroundColor = [UIColor whiteColor];//clearcolor
dot.layer.borderColor = [UIColor whiteColor].CGColor;
dot.layer.masksToBounds = YES;
dot.layer.cornerRadius = dot.bounds.size.width/2.;
dot.layer.borderWidth = 4.0f;
CAGradientLayer *gradient = [CAGradientLayer layer];
gradient.frame = dot.bounds;
gradient.colors = [NSArray arrayWithObjects:(id)[UIColor redColor].CGColor,(id) [UIColor greenColor].CGColor, nil];
// gradient.borderColor = [UIColor whiteColor].CGColor;
// gradient.borderWidth =5;
// gradient.cornerRadius = dot.bounds.size.width/2.;
// gradient.masksToBounds = YES;
[dot.layer insertSublayer:gradient atIndex:0];
[self.view addSubview:dot];
希望这有助于你......:)