我在我的窗口中添加了一个 NSToolbar
并插入了一些项目。其中两个包含一个自定义 View (NSTextFiled
作为标签和一个 NSButton
)。我已经为这两个项目设置了最大和最小宽度,它们显示良好,但它们比需要的要大得多,使标签特别是按钮大得令人讨厌,并且有不需要的空间。
我正在寻找一种方法来将按钮及其项目的宽度设置为其包含的文本所需的最小值。
最佳答案
在尝试之后,我还为 NSToolbarItem
添加了一个 socket ,并使用以下函数更改文本:
@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
}
关于macos - NSToolbarItem 拉伸(stretch)到最小宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31805013/