NSButton with round corners and background color

前端 未结 8 1981
迷失自我
迷失自我 2021-02-19 06:30

I want a simple push button (the one with the round corners), and to add background to it. I\'ve tried 2 things:

1 - using a round button image: this is working good, un

8条回答
  •  暗喜
    暗喜 (楼主)
    2021-02-19 07:10

    Override NSButtonCell's drawWithFrame method:

    func drawWithFrame(cellFrame: NSRect, inView controlView: NSView) {
        var border = NSBezierPath(roundedRect: NSInsetRect(cellFrame, 0.5, 0.5), xRadius: 3, yRadius: 3)
        NSColor.greenColor().set()
        border.fill()
    
        var style = NSParagraphStyle.defaultParagraphStyle()
        style.alignment = NSCenterTextAlignment
        var attr = [NSParagraphStyleAttributeName : style, NSForegroundColorAttributeName : NSColor.whiteColor()]
    
        self.title.drawInRect(cellFrame, withAttributes: attr)
    }
    

提交回复
热议问题