我正在尝试使包含 NSButton
的 NSToolbarItem
适合按钮的宽度。但是,当我将工具栏项目的最大宽度设置为较高的值(例如 300)并且工具栏中有足够的空间时,该按钮将始终扩展到完整的 300 点。
我怎样才能让按钮增长到例如300 分,但仅如果有必要容纳其内容(即拥抱其内容)?如果按钮 contentHuggingPriority
位于 NSToolbar
内,则设置按钮似乎会被忽略。
最佳答案
我为 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
添加一些像素,以便按钮足够大。
关于cocoa - NSToolbarItem:大小按钮以适合/设置内容拥抱优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40586934/