利用masonry添加约束的控件, 添加部分圆角

首先添加圆角的方式并没有变:

- (void)setCornerOnTop
{
    UIBezierPath *maskPath;
    maskPath = [UIBezierPath bezierPathWithRoundedRect:self.bounds
                                     byRoundingCorners:(UIRectCornerTopLeft | UIRectCornerTopRight)
                                           cornerRadii:CGSizeMake(5.0f, 5.0f)];
    CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
    maskLayer.frame = self.bounds;
    maskLayer.path = maskPath.CGPath;
    self.layer.mask = maskLayer;
}

这是一段给UIView上边缘添加圆角的代码.
实际想说的是,究竟把它放在什么位置,才能让利用Masonry添加过约束的UIView产生圆角效果.

  • (void)layoutSublayersOfLayer:(CALayer *)layer
    就是这个方法,在此方法中调用上面的方法,UIView就可以产生圆角效果.

此方法被调用的时刻是:当图层的bounds发生改变,或者图层的setNeedsLayout方法被调用的时候.

附一行代码添加圆角的category的github地址,欢迎下载使用,十分方便
HGCorner

你可能感兴趣的:(原创,笔记,Objective-C)