技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> iOS开发 --> 为UIView任意角设置圆角

为UIView任意角设置圆角

浏览:1436次  出处信息

为UIView任意角设置圆角

   圆角在苹果的世界时随处可见的。为视图设置圆角在开发iOS当中是经常要做的事情。要为UIView对象设置圆角也是非常简单地事情。

    view.layer.cornerRadius = 10;

   这样一句代码就轻松为一个view的四个角设置了圆角。当我们需要为view任意一个角设置圆角的时候,需要怎么办呢?有一个方法就是通过layer.mask,也就是遮罩。加上UIBezierPath的+ (UIBezierPath *)bezierPathWithRoundedRect:(CGRect)rect byRoundingCorners:(UIRectCorner)corners cornerRadii:(CGSize)cornerRadii的这个方法就可以轻松添加圆角遮罩了。

UIRectCorner

   UIRectCorner的定义如下:

typedef NS_OPTIONS(NSUInteger, UIRectCorner) {  
    UIRectCornerTopLeft     = 1 << 0,
    UIRectCornerTopRight    = 1 << 1,
    UIRectCornerBottomLeft  = 1 << 2,
    UIRectCornerBottomRight = 1 << 3,
    UIRectCornerAllCorners  = ~0UL
};

例子

   下面代码就是为一个view三个角设置圆角。

- (void)layoutSubviews{
    [super layoutSubviews];
    CGFloat corner = 50;
    CAShapeLayer *shapeLayer = [CAShapeLayer layer];
    shapeLayer.path = [UIBezierPath bezierPathWithRoundedRect:self.bounds byRoundingCorners:UIRectCornerTopLeft | UIRectCornerTopRight | UIRectCornerBottomLeft cornerRadii:CGSizeMake(corner, corner)].CGPath;
    self.layer.mask = shapeLayer;
}

   运行如下:

   为UIView任意角设置圆角

建议继续学习:

  1. CSS圆角制作    (阅读:3033)
  2. 手机UI设计基础-尺寸&单位    (阅读:3188)
  3. jQuery边框圆角插件:DivCorners    (阅读:2573)
  4. 记录用户体验细节    (阅读:2286)
  5. CSS3圆角详解    (阅读:2149)
  6. 圆角头像的重构优化    (阅读:2082)
  7. 自适应圆角    (阅读:2068)
  8. 小心别让圆角成了你列表的帧数杀手    (阅读:1676)
  9. iOS可视化编程 Tips 之“无需代码设置圆角”    (阅读:1804)
  10. -webkit-border-radius圆角属性    (阅读:956)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1