2

我正在尝试制作NSToolbarItem一个NSButton适合按钮宽度的内容。但是,当我将工具栏项的最大宽度设置为较高的值(例如 300)并且工具栏中有足够的空间时,按钮将始终扩展为完整的 300 点。

我怎样才能让按钮增长到例如 300 点,但前提是必须容纳它的内容(即拥抱它的内容)?如果按钮contentHuggingPriority位于NSToolbar.

4

3 回答 3

0

我为 a 制作了它NSTextField,但它也应该适用于 a NSButton。您必须在更改后设置它stringValue(在 Xcode 中将minSizeand设置maxSize为低值):

if let font = tf.font {
    let size = tf.stringValue.size(withAttributes: [NSAttributedStringKey.font: font])
    toolBarItem.minSize.width = size.width    // maybe + x
}

也许您必须在 中添加一些像素size.width,以使按钮足够大。

于 2017-10-31T17:12:58.693 回答
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
于 2018-03-13T20:33:21.570 回答
-1

您可以通过将按钮的边框设置更改为关闭并将图像的缩放选项设置为按比例向下来完成您想要的操作。

这里有一些例子。您可以通过设置更改看到不同的结果预览。

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

于 2016-11-15T14:00:06.977 回答