制作的UIView轮各角落(Make specific corners of UIView roun

2019-07-17 15:34发布

我做了一些研究,我看,有没有简单的方法,使只有右上和UIView的圆左上死角,对不对?

PS。 此代码的所有4个角轮是不便。 我不想。

  #import <QuartzCore/QuartzCore.h>

 self.layer.cornerRadius = 5;
 self.layer.masksToBounds = YES;

Answer 1:

您可以在这个片段中做到这一点:

// 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细胞,我发现,它总是一个更好的选择,使用背景图片,因为这种画的东西总是会影响性能。



Answer 2:

我试了UIView扩展一次,并绘制细胞时,它并没有为我工作,因为它造成的问题

我现在在2层的步骤,完美地工作好有一个更好的和更容易的解决方案:)

1)的一行代码(SWIFT 2.0) - 它的伤口所有4个角的视图的:

YourView.layer.cornerRadius = 10

2)和另外一个故事板中添加1个视图,在这里你不需要圆角并根据需要调整限制常规的角落:注意小角落定期查看应该是主视图后面。 这是它的外观在故事板

在这里,您可以看到所需的小视图约束



文章来源: Make specific corners of UIView round