设置控件圆角,只设置上面两个角的圆角,下面两个角依然是直角,如图效果:

blog_20161027001

代码(通过贝塞尔曲线重绘layer层):


UIImageView *picImageView = [[UIImageView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];    
picImageView.backgroundColor = [UIColor greenColor];    
[self.view addSubview:picImageView];    
    
UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:picImageView.bounds byRoundingCorners:UIRectCornerTopLeft|UIRectCornerTopRight cornerRadii:CGSizeMake(10, 10)]; // UIRectCornerBottomRight通过这个设置    
    
CAShapeLayer *maskLayer = [CAShapeLayer layer];    
maskLayer.frame = picImageView.bounds;    
maskLayer.path = maskPath.CGPath;    
    
picImageView.layer.mask = maskLayer;