【问题标题】:NSToolbarItem stretch to minimum widthNSToolbarItem 拉伸到最小宽度
【发布时间】:2015-08-04 09:04:40
【问题描述】:
我在窗口中添加了NSToolbar 并插入了一些项目。其中两个包含自定义视图(NSTextFiled 作为标签,NSButton)。我为这两个项目设置了最大和最小宽度,它们显示得很好,但它们比制作标签所需的要大得多,尤其是按钮大得令人讨厌,而且空间不足。
我正在寻找一种方法来将按钮及其项目的宽度设置为其包含的文本所需的最小值。
【问题讨论】:
标签:
macos
swift
nstoolbar
nstoolbaritem
【解决方案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
}