以编程方式在iOS中使用具有模糊效果的颜色渐变创建UIView

时间:2018-09-21 07:13:03

标签: ios objective-c uiview cagradientlayer

我想使用目标c创建具有颜色渐变和模糊效果(360度)的UIview。

Like following

Rectangle effect

我只能在一个方向上执行此渐变效果。我需要类似360度矩形的输出。

这是我的代码

CAGradientLayer *gradient = [CAGradientLayer layer];

gradient.frame = view.bounds;
gradient.colors = @[(id)[UIColor whiteColor].CGColor, (id)[UIColor blackColor].CGColor];

[view.layer insertSublayer:gradient atIndex:0];

1 个答案:

答案 0 :(得分:0)

您可以像应用代码一样应用渐变图层,然后在添加下面的代码之后对其进行查找。

   if (!UIAccessibilityIsReduceTransparencyEnabled()) {
    self.view.backgroundColor = [UIColor clearColor];

UIBlurEffect *blurEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleDark];
UIVisualEffectView *blurEffectView = [[UIVisualEffectView alloc] initWithEffect:blurEffect];
//always fill the view
blurEffectView.frame = self.view.bounds;
blurEffectView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;

[self.view addSubview:blurEffectView]; //if you have more UIViews, use an insertSubview API to place it where needed
} else {
    self.view.backgroundColor = [UIColor blackColor];
}

我希望它能工作。