Как настроить вертикально одну строку в NSTextField? - PullRequest
0 голосов
/ 30 сентября 2018

Я использую пользовательский шрифт для нередактируемого NSTextField, который я создал в StoryBoard:

generalDisplay.font = NSFont(name: "DS-Digital Bold", size: 25.0)

Затем я настраиваю высоту кадра:

generalDisplay.frame.size.height = 28

Результат не центрируетсяпо вертикали:

enter image description here

Я пытался отключить однострочный режим, но результат еще хуже.

enter image description here

Если бы мне нужно было создать его подкласс, не могли бы вы привести пример, какие методы я должен переопределить?

Ответы [ 2 ]

0 голосов
/ 30 сентября 2018

Глядя на документацию Apple по NSTextfield, возможно, вы могли бы инициализировать NSTextField с NSAttributedString, чтобы иметь возможность изменить базовую линию

NSTextfield(labelWithAttributedString: NSAttributedString)
0 голосов
/ 30 сентября 2018

Вы можете создать подкласс UITextField и переопределить этот метод:

override func textRect(forBounds bounds: CGRect) -> CGRect { 
   return bounds.inset(by: UIEdgeInsets(top: 0, left: 5, bottom: 0, right: 10)) 
} 
...