我有一个标题和图像的按钮。按钮的标题取决于所选语言。所以我希望按钮总是标题的宽度加上图像。我觉得这很简单:
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)
}
答案 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"
}