NSToolbarItem拉伸到最小宽度

时间:2015-08-04 09:04:40

标签: macos swift nstoolbar nstoolbaritem

我在窗口中添加了NSToolbar并插入了一些项目。其中两个包含自定义视图(NSTextFiled作为标签和NSButton)。我已经为这两个项目设置了最大和最小宽度,它们显示得很好,但是它们比需要的要大得多,使得标签,特别是按钮非常大而且有不希望的空间。

Button too big

我正在寻找一种方法来将按钮及其项目的宽度设置为其包含的文本所需的最小值。

1 个答案:

答案 0 :(得分: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
}