2017-01-10 2 views

ответ

2

я только что сделал, что (для Swift 3, но это может помочь вам, а), Вы должны иметь выход к изображению, например, под названием yourImage, а затем сделать это на viewDidLoad:

let shapeLayer = CAShapeLayer() 
    shapeLayer.path = UIBezierPath(roundedRect: yourImage.bounds, byRoundingCorners: [.bottomLeft, .bottomRight], cornerRadii: CGSize(width: 30, height: 30)).cgPath 
yourImage.layer.mask = shapeLayer 
+0

ОП запрашивает Objective-C. Вы должны предоставить оба варианта, поскольку это все равно будет работать. – Fogmeister

+1

Вы правы, не видели этого, к сожалению, я не знаю Objective C, отредактирую свой ответ, чтобы позволить ему это сделать. –

+0

Это хороший вызов для вас ;-) – Fogmeister

2

Это было буквально MONTHS с момента последнего написания кода Objective-c, так как я хочу снова его поднести, вот версия ответа Mago Nicolas Palacios от Objective-c, написанная в Swift 3.0.

UIImageView *sampleImage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"sample"]]; 
CGSize size = CGSizeMake(30, 30); 
UIBezierPath *bezierPath = [UIBezierPath bezierPathWithRoundedRect:sampleImage.bounds 
               byRoundingCorners:(UIRectCornerBottomRight | UIRectCornerTopLeft) 
                 cornerRadii:size]; 
CAShapeLayer *shapeLayer = [CAShapeLayer layer]; 
[shapeLayer setPath:[bezierPath CGPath]]; 
sampleImage.layer.mask = shapeLayer; 
+1

Ницца! Ты сделал это. –