2016-07-01 95 views
3

如何在使用swift的文本字段單元格中的文本左側添加填充?以前的答案只適用於UITextField或Objective C。要清楚,這是針對NSTextField的。左側的NSTextField填充

+0

NSTextField似乎沒有與UITextField相同的成員函數。 – user3225395

+0

@NSNoob因爲它適用於OS X? – Desdenova

+0

@Desdenova確切無誤。我正在開發一個macOS應用程序。當然希望它和iOS開發之間有更多的相似之處! – user3225395

回答

5

Here是誰的人已經在Objective C.

移植到斯威夫特,看起來像這樣一個定製NSTextFieldCell的例子:

import Cocoa 

class PaddedTextField: NSTextFieldCell { 

    @IBInspectable var leftPadding: CGFloat = 10.0 

    override func drawingRectForBounds(rect: NSRect) -> NSRect { 
     let rectInset = NSMakeRect(rect.origin.x + leftPadding, rect.origin.y, rect.size.width - leftPadding, rect.size.height) 
     return super.drawingRectForBounds(rectInset) 
    } 
} 

我已經添加填充爲@IBInspectable財產。這樣你就可以在Interface Builder中設置它。

若要使用新的PaddedTextField您只需將一個普通Text Field到您的廈門國際銀行文件

Normal Text Field Cell

,然後更改類內TextFieldCell的是PaddedTextField(或你最終調用您的類)

Change class to be PaddedTextField

The final result

希望能幫到你。

+0

謝謝!你是男人。奇蹟般有效。 – user3225395

+0

只有在沒有設置背景顏色或者未定製邊框的情況下,這才起作用。看到這個:http://stackoverflow.com/questions/37870474/osx-nstextfield-with-layer-background-color-not-working – Neovibrant

相關問題