美文网首页
IOS11新特性之maskedCorners

IOS11新特性之maskedCorners

作者: IUVO | 来源:发表于2018-07-09 15:48 被阅读247次

    iOS11之前,view展示圆角的处理过程为:

        self.label.layer.cornerRadius = 20;
        self.label.layer.masksToBounds = YES;
    

    作为基础知识点,相比大家都懂,那么如果要你实现下图的样式呢?

    图示
    是不是有点麻烦,要多一些步骤?
    然而,iOS11对圆角功能进行了增强,layer新增了maskedCorners属性:
    @property CACornerMask maskedCorners
      CA_AVAILABLE_STARTING (10.13, 11.0, 11.0, 4.0);
    

    其本质是一个结构体:

    typedef NS_OPTIONS (NSUInteger, CACornerMask)
    {
      kCALayerMinXMinYCorner = 1U << 0,
      kCALayerMaxXMinYCorner = 1U << 1,
      kCALayerMinXMaxYCorner = 1U << 2,
      kCALayerMaxXMaxYCorner = 1U << 3,
    };
    

    这样,我们就能使用这个新属性,实现指定角的圆角处理:

    self.label.layer.maskedCorners = kCALayerMinXMinYCorner | kCALayerMaxXMinYCorner;
    

    切身体会到了其有用的地方,以前被UI的图搞过,现在看到这个新特性,贼亲切了~

    相关文章

      网友评论

          本文标题:IOS11新特性之maskedCorners

          本文链接:https://www.haomeiwen.com/subject/iuhtpftx.html