我在NSToolbar
窗口中添加了一个并插入了一些项目。其中两个包含一个自定义视图(NSTextFiled
作为标签和一个NSButton
)。我已经为这两个项目设置了最大和最小宽度,它们显示得很好,但它们比制作标签所需的大得多,尤其是按钮大得令人讨厌,而且空间不足。
我正在寻找一种方法来将按钮及其项目的宽度设置为其包含的文本所需的最小值。
我在NSToolbar
窗口中添加了一个并插入了一些项目。其中两个包含一个自定义视图(NSTextFiled
作为标签和一个NSButton
)。我已经为这两个项目设置了最大和最小宽度,它们显示得很好,但它们比制作标签所需的大得多,尤其是按钮大得令人讨厌,而且空间不足。
我正在寻找一种方法来将按钮及其项目的宽度设置为其包含的文本所需的最小值。
在玩了之后,我还为 the 添加了一个插座,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
}