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

如何实现圆角矩形, 有哪些方法可以实现扇形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)