美文网首页
如何实现圆角矩形, 有哪些方法可以实现扇形View

如何实现圆角矩形, 有哪些方法可以实现扇形View

作者: 面糊 | 来源:发表于2016-06-15 21:44 被阅读95次

    如何实现圆角矩形, 有哪些方法可以实现扇形View

    1. 圆角矩形

      • 使用view.layer.cornerRadius来实现
      • 使用Quartz 2D以及贝塞尔曲线来绘制(图形上下文绘制到View上)
    2. 实现扇形View:

      • 使用Quartz 2D以及贝塞尔曲线来绘制

      • - (void)drawRect:(CGRect)rect方法中重绘View的边框

          - (void)drawRect:(CGRect)rect {
              // 1. 获取图形上下文
              CGContextRef context = UIGraphicsGetCurrentContext();
              
              // 2. 绘制路径
              CGPoint center = CGPointMake(rect.size.width * 0.5, rect.size.height * 0.5);
              CGFloat radius = rect.size.width * 0.5 - 10;
                  // 绘制一个圆弧
              UIBezierPath *path = [UIBezierPath bezierPathWithArcCenter:center radius:radius startAngle:0 endAngle:-M_PI_2 clockwise:NO];
              
              // 2.2 添加一条线到圆心
              [path addLineToPoint:center];
              
              // 3. 添加路径
          //    CGContextAddPath(context, path.CGPath);
              
          //    // 4. 关闭路径
          //    CGContextClosePath(context);
          //    
          //    // 4. 渲染
          //    CGContextStrokePath(context);
              
              // 6. 关闭路径并渲染
              [path fill];
          }
        
    3. 建议尽量避免奇形怪状的View, 因为drawRect这个方法比较消耗内存

    相关文章

      网友评论

          本文标题:如何实现圆角矩形, 有哪些方法可以实现扇形View

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