NSButton更改宽度

时间:2015-08-04 14:05:13

标签: macos swift width nsbutton

我有一个标题和图像的按钮。按钮的标题取决于所选语言。所以我希望按钮总是标题的宽度加上图像。我觉得这很简单:

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

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

编辑: 也试试

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

myButton.sizeToFit()

没有工作

EDIT2: 我用两个按钮创建了一个清晰的项目。如果单击一个按钮,则更改另一个按钮的标题。结果是一样的,我希望宽度也改变,但我无法实现

@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)
}

1 个答案:

答案 0 :(得分:0)

我想我有答案,我需要在设定尺寸后再次设置标题:

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"
    }