1

I want to apply square gradient border on view like top window in image: enter image description here

What i have done:

CAGradientLayer *gradientLayer =  [[CAGradientLayer alloc] init];
gradientLayer.frame = CGRectMake(0, 0, _imgView.bounds.size.width, _imgView.bounds.size.height);
gradientLayer.startPoint = CGPointMake(0.0, 0.5);
gradientLayer.endPoint = CGPointMake(1.0, 0.5);
gradientLayer.colors = @[(id)[UIColor whiteColor].CGColor, (id)[UIColor clearColor].CGColor];

CAShapeLayer *shapeLayer = [[CAShapeLayer alloc] init];
shapeLayer.lineWidth = 50;
shapeLayer.path = [UIBezierPath bezierPathWithRect:_imgView.bounds].CGPath;
shapeLayer.fillColor = [UIColor clearColor].CGColor;
shapeLayer.strokeColor = [UIColor blackColor].CGColor;
gradientLayer.mask = shapeLayer;
[_imgView.layer addSublayer : gradientLayer];

I want gradient border effect as in first image.

Ganpat
  • 768
  • 3
  • 15
  • 30
  • Alternative, because CocoaTouch provides only Linear gradient, you can use a inner shadow: https://stackoverflow.com/questions/4431292/inner-shadow-effect-on-uiview-layer – Larme Jul 24 '18 at 09:06
  • Thanks for comment, i will try and let you know. – Ganpat Jul 24 '18 at 13:08

0 Answers0