IOS gradient and fillet coexist
//Create CAGradientLayer CAGradientLayer *gradientLayer = [CAGradientLayer layer]; //Set Gradient gradientLayer.colors = @[(__bridge id)[UIColor colorWithRed:77.0/255.0 green:144.0/255.0 blue:255.0/255.0 alpha:1.0]. CGColor, (__bridge id)[UIColor colorWithRed:206.0/255.0 green:100.0/255.0 blue:255.0/255.0 alpha:1.0]. CGColor]; //Set Gradient Direction gradientLayer.startPoint = CGPointMake(0.0, 0.5); gradientLayer.endPoint = CGPointMake(1.0, 0.5); //Set frame gradientLayer.frame = self.orderBg.bounds; //Create a Bezier path for drawing fillets UIBezierPath *roundedRectPath = [UIBezierPath bezierPathWithRoundedRect:gradientLayer.bounds byRoundingCorners:UIRectCornerAllCorners cornerRadii:CGSizeMake(30.0, 10.0)]; //Create a shape layer as the mask of the gradientLayer CAShapeLayer *maskLayer = [CAShapeLayer layer]; maskLayer.path = roundedRectPath.CGPath; //Assign the maskLayer to the mask of the gradientLayer gradientLayer.mask = maskLayer; //Add gradient to our view [self.orderBg.layer insertSublayer:gradientLayer atIndex:0];
//Create CAGradientLayer CAGradientLayer *gradientLayer = [CAGradientLayer layer]; //Set Gradient gradientLayer.colors = @[(__bridge id)[UIColor colorWithRed:77.0/255.0 green:144.0/255.0 blue:255.0/255.0 alpha:1.0]. CGColor, (__bridge id)[UIColor colorWithRed:206.0/255.0 green:100.0/255.0 blue:255.0/255.0 alpha:1.0]. CGColor]; //Set Gradient Direction gradientLayer.startPoint = CGPointMake(0.0, 0.5); gradientLayer.endPoint = CGPointMake(1.0, 0.5); //Set frame gradientLayer.frame = self.orderBg.bounds; //Create a Bezier path for drawing fillets UIBezierPath *roundedRectPath = [UIBezierPath bezierPathWithRoundedRect:gradientLayer.bounds byRoundingCorners:UIRectCornerAllCorners cornerRadii:CGSizeMake(30.0, 10.0)]; //Create a shape layer as the mask of the gradientLayer CAShapeLayer *maskLayer = [CAShapeLayer layer]; maskLayer.path = roundedRectPath.CGPath; //Assign the maskLayer to the mask of the gradientLayer gradientLayer.mask = maskLayer; //Add gradient to our view [self.orderBg.layer insertSublayer:gradientLayer atIndex:0];