2017-05-08 49 views
0

我有一個編程創建的NSButton。在所述按鈕中,我有一個NSImage作爲圖標:在NSButton中定位一個NSImage

let button = NSButton(frame: NSRect(x: 10, y: (200 + (50 * id)), width: 100, height: 50)) 
button.action = #selector(self.switchToView) 
let img = NSImage(named: "wob_icon") 
button.image = img 

我想要做的是得到圖像10pt。從按鈕的左側,垂直居中。到目前爲止,圖像在水平方向和垂直方向都顯示爲中心,但由於看起來並不像我能夠定義一個框架或類似的東西,所以我無法真正移動它。

有沒有辦法在其父(按鈕)內移動圖像?

謝謝。

回答

1

也許你可以在NSButton上使用imagePosition屬性? (documented here)。

它使用NSCellImagePositiondocumented here)類型的枚舉,並允許您將圖像設置爲文本左側,文本右側,文本上方,文本下方等。

你仍然沒有機會將事物像素完美對齊,但如果你可以忍受這種情況,那麼imagePosition似乎是要走的路。

這裏是如何使用它:

let button = NSButton(frame: NSRect(x: 10, y: 10, width: 100, height: 50)) 
button.action = #selector(self.switchToView) 
let img = NSImage(named: "wob_icon") 
button.image = img 
button.imagePosition = .imageLeft 
button.title = "Look left :)" 

這一點讓我這個驚人的UI:

button with image 希望幫助你。