我正在尝试使NSToolbarItem
包含NSButton
符合按钮的宽度。但是,当我将工具栏项的最大宽度设置为较高值(例如300)并且工具栏中有足够的空间时,按钮将始终扩展到完整的300个点。
如何让按钮增长到例如300分,但仅如果有必要容纳其内容(即拥抱其内容)?似乎设置按钮contentHuggingPriority
如果它位于NSToolbar
内,则会被忽略。
答案 0 :(得分:0)
我是为NSTextField
制作的,但它也适用于NSButton
。您必须在更改stringValue
后设置此项(在Xcode中将minSize
和maxSize
设置为较低值):
if let font = tf.font {
let size = tf.stringValue.size(withAttributes: [NSAttributedStringKey.font: font])
toolBarItem.minSize.width = size.width // maybe + x
}
也许您必须向size.width
添加一些像素,以便按钮足够大。
答案 1 :(得分:0)
有同样的问题。 创建2个ib插座
@IBOutlet weak var toolBarRegistrationHint: NSButton!
@IBOutlet weak var toolBarRegistrationHintItem: NSToolbarItem!
比代码
var maxSize = toolBarRegistrationHintItem!.maxSize
toolBarRegistrationHint!.title = "Pro ✔︎".localized
toolBarRegistrationHint!.sizeToFit()
maxSize.width = toolBarRegistrationHint!.frame.size.width
toolBarRegistrationHintItem!.maxSize = maxSize
答案 2 :(得分:-1)