NSToolbarItem растянуть до минимальной ширины

Я добавил NSToolbar в свое окно и вставил несколько элементов. Два из них содержат настраиваемый вид (NSTextFiled как метка и NSButton). Я установил максимальную и минимальную ширину для обоих этих элементов, и они отображаются нормально, но они намного больше, чем необходимо, что делает ярлык и особенно кнопку раздражающе большими с нежелательным пространством.

Кнопка слишком большая

Я ищу способ установить ширину кнопки и ее элемента на минимум, необходимый для содержащегося в ней текста.


person Marco Boschi    schedule 04.08.2015    source источник


Ответы (1)


После игры я добавил розетку также для NSToolbarItem и использовал следующую функцию для изменения текста:

@IBOutlet weak var manageSessionItem: NSToolbarItem!
@IBOutlet weak var manageSession: NSButton!

func setManageSessionTitle(title: String) {
    let s: NSString = title
    let attr=[NSFontAttributeName: manageSession.font!]
    //Add width to compensate for button graphics
    let w=s.sizeWithAttributes(attr).width + 20

    manageSession.frame.size.width = w
    manageSessionItem.minSize.width = w
    manageSessionItem.maxSize.width = w

    manageSession.title = title
}
person Marco Boschi    schedule 04.08.2015