1. 程式人生 > >swift – 具有圓角和背景顏色的NSButton

swift – 具有圓角和背景顏色的NSButton

ride over nsrect 實現 動態 target cor 事情 更多

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)

}

相關文章
  • 1. android圓角矩形有背景顏色
  • 2. ios – NSAttributedString背景顏色和圓角
  • 3. css – 具有背景顏色的DIV上的圓角
  • 4. objective-c – 更改NSButton的背景顏色
  • 5. UIView背景顏色在Swift
  • 6. android – 具有邊框顏色的圓角
  • 7. Android自定義TextView帶圓角及背景顏色(動態改變圓角背景顏色)
  • 8. 圓角背景
  • 9. 會變色的背景透明NSButton
  • 10. android 圓角背景
  • 更多相關文章...

swift – 具有圓角和背景顏色的NSButton