swift – 具有圆角和背景颜色的NSButton
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) }
相关文章
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |