NSButton 改变宽度

NSButton change width

我有一个带有标题和图片的按钮。按钮的标题根据所选语言而变化。所以我希望按钮始终具有标题加图像的宽度。我认为这很简单:

var size = selectMenuItemButton.attributedTitle.size
myButton.bounds.size.width = size.width + 10.0

但按钮的宽度保持不变。我做错了什么?

编辑: 也试试

myButton.frame.size.width = size.width + 10.0

myButton.sizeToFit()

也没用

编辑2: 我用两个按钮创建了一个清晰的项目。如果单击一个按钮,另一个按钮的标题将更改。结果是一样的,我也想改变宽度,但是我做不到

@IBAction func buttonClicked(sender: AnyObject) {
    println(test.attributedTitle.size.width)
    myButton.title = "blublublublub"
    var size = test.attributedTitle.size
    myButton.frame.size.width = size.width
    println(test.attributedTitle.size.width)
}

我想我找到了答案,我只需要在设置大小后再次设置标题:

myButton.title = "blublublublub"
var size = myButton.attributedTitle.size
myButton.frame.size.width = size.width
myButton.title = "blublublublub"

如果有人想在@IBAction 之外更改大小,您需要使用 dispatch:

dispatch_async( dispatch_get_main_queue()){
        self.myButton.title = "blublublublub"
        var size = self.myButton.attributedTitle.size
        self.myButton.frame.size.width = size.width
        self.myButton.title = "blublublublub"
    }