Mac App开发-NSView设置圆角

2019-08-22  本文已影响0人  海是天空蓝

- (void)drawRect:(NSRect)dirtyRect {

    [superdrawRect:dirtyRect];

    NSColor*color =RCColorWithValue(0x585c62);

    [colorsetFill];

    NSIntegerradius =5;

    // 绘制圆角

    CGContextRef context = [NSGraphicsContext currentContext].CGContext; // Core Graphics上下文,其实就是张画布

    CGFloatminx =CGRectGetMinX(dirtyRect), midx =    CGRectGetMidX(dirtyRect), maxx =CGRectGetMaxX(dirtyRect);

    CGFloatminy =CGRectGetMinY(dirtyRect), midy =CGRectGetMidY(dirtyRect), maxy =CGRectGetMaxY(dirtyRect);

    CGContextMoveToPoint(context, minx, midy);// 设置绘制起点为(minx, midy)

    CGContextAddArcToPoint(context, minx, miny, midx, miny,0);// 绘制view左下圆角

    CGContextAddArcToPoint(context, maxx, miny, maxx, midy, radius);// 绘制view右下圆角

    CGContextAddArcToPoint(context, maxx, maxy, midx, maxy, radius);// 绘制view右上圆角

    CGContextAddArcToPoint(context, minx, maxy, minx, midy,0);// 绘制view左上圆角

    CGContextClosePath(context); CGContextSetFillColorWithColor(context, color.CGColor); //填充view的背景颜色

    CGContextFillPath(context);

}

上一篇 下一篇

猜你喜欢

热点阅读