使UIView的特定angular落圆

我做了一些研究,我发现,没有简单的方法来制作UIView的右上angular和左上angular,对吧?

PS。 这个代码使得所有的四个angular落都是平淡无奇的。 我不想要。

#import <QuartzCore/QuartzCore.h> self.layer.cornerRadius = 5; self.layer.masksToBounds = YES; 

你可以用这个片段来做到这一点:

 // Set top right & left corners [self setMaskTo:yourView byRoundingCorners:UIRectCornerTopLeft|UIRectCornerTopRight]; 

编辑

对不起,我忘了这个

 - (void)setMaskTo:(UIView*)view byRoundingCorners:(UIRectCorner)corners { UIBezierPath *rounded = [UIBezierPath bezierPathWithRoundedRect:view.bounds byRoundingCorners:corners cornerRadii:CGSizeMake(8.0, 8.0)]; CAShapeLayer *shape = [[CAShapeLayer alloc] init]; [shape setPath:rounded.CGPath]; view.layer.mask = shape; } 

PS:正如我在评论中所说,如果在显示UITableViewCell单元时使用这样的东西,我发现使用背景图像总是一个更好的select,因为这种绘图的东西总是影响性能。

我试了一次UIView的扩展,它不适合我,因为它在绘制单元格时造成了问题

我现在在2个步骤中获得了更好更简单的解决scheme

1)一行代码(Swift 2.0) – 它创造了一个视图的所有四个angular落:

 YourView.layer.cornerRadius = 10 

2)和故事板中的一个添加,您可以添加1视图与常规的angular落,您不需要任何圆angular,并根据需要调整约束:请注意,小的常规angular落视图应位于主视图的后面。 这是故事板中的外观

在这里你可以看到小视图所需的约束条件