Как вы добавляете дополнение слева от текста в ячейке текстового поля с помощью swift? Предыдущие ответы предназначены только для UITextField или в Objective C. Чтобы быть понятным, это для NSTextField.NSTextField Padding слева
ответ
Here является примером того, кто сделал обычай NSTextFieldCell
в Objective C.
адаптированные к Swift, который выглядит следующим образом:
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
вашего XIb файл
, а затем изменить класс внутренней TextFieldCell
быть PaddedTextField
(или то, что вы в конечном итоге вызова вашего класса)
И вуаля
Надеюсь, что вам поможет.
Спасибо! Ты мужчина. Работает как шарм. – user3225395
Это работает только в том случае, если цвет фона не установлен или граница не настроена. См. Это: http://stackoverflow.com/questions/37870474/osx-nstextfield-with-layer-background-color-not-working – Neovibrant
NSTextField не имеет одинаковых функций-членов, таких как UITextField. – user3225395
@NSNoob Потому что это для OS X? – Desdenova
@Desdenova Точно. Я разрабатываю приложение для macOS. Конечно, было бы больше сходства между ним и развитием iOS! – user3225395