码迷,mamicode.com
首页 > 编程语言 > 详细

swift – 具有圆角和背景颜色的NSButton

时间:2019-01-29 12:50:31      阅读:385      评论:0      收藏:0      [点我收藏+]

标签:idc   default   rap   相同   path   ring   androi   圆角矩形   ali   

http://www.voidcn.com/article/p-srkqadwc-btx.html

 

我想要一个简单的按钮(带圆角的按钮),并添加背景. 

我已经尝试过两件事情:

 

1 – 使用圆形按钮图像:这是很好的,直到我需要缩放按钮,这导致圆形部分看起来丑陋.

2 – 扩展按钮并添加颜色 – 但是当我点击按钮时,我有麻烦 – 我希望“推”状态与“常规”状态处于相同的颜色,但情况并非如此.

这是我用来扩展按钮的代码:

 

override func drawRect(dirtyRect: NSRect)

    {

        if let bgColor = bgColor {

            self.layer?.cornerRadius = 4

            self.layer?.masksToBounds = true

            self.layer?.backgroundColor = bgColor.CGColor

            bgColor.setFill()

 

            NSRectFill(dirtyRect)

        }

 

        super.drawRect(dirtyRect)

    }

无论如何,方法1和2都不工作,那么我该如何实现呢?

只是一个简单的按钮.. ??

编辑:

我在问OSX

 

覆盖NSButtonCell的drawWithFrame方法:

 

 

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)

}

swift – 具有圆角和背景颜色的NSButton

标签:idc   default   rap   相同   path   ring   androi   圆角矩形   ali   

原文地址:https://www.cnblogs.com/sundaymac/p/10333478.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!