Swift iOS: UIButton.frame 给出全 0
Swift iOS: UIButton.frame gives all 0s
我是 iOS 和 Swift 以及 UIKit 的新手,所以有许多项目被证明是令人困惑的。我创建了一个 UIButton,添加了一些文本,然后尝试获取按钮的 CGRect,但所有值都为零。其实我只是对宽度感兴趣。
这是我的代码(menuButtonMaxWidth 是一个 class 变量)
menuButtonMaxWidth = 0
let overflowItem1 = UIButton()
let checkboxCharacter: Character = "\u{25EF}"
overflowItem1.setTitle("\(checkboxCharacter) Allow Hub Wifi Reset", for: [])
overflowItem1.setTitleColor(UIColor.white, for: [])
overflowItem1.addTarget(self, action: #selector(overflowItem1Clicked(_:)), for: UIControl.Event.touchUpInside)
overflowItem1.translatesAutoresizingMaskIntoConstraints = false
if overflowItem1.frame.width > menuButtonMaxWidth {
menuButtonMaxWidth = overflowItem1.frame.width
}
overflowItem1.frame.width总是给零!调试显示 overflowItem1.frame 的 CGRect 具有全零值。我究竟做错了什么?这似乎应该如此直截了当。谢谢你的帮助。我一定是遗漏了一些东西或做了一些 iOS 禁忌但还没有流行起来的事情。
我使用的是 Xcode 12,我假设是 Swift 的最新版本。
在您的按钮上调用 sizeToFit()
以根据其内容调整其大小。
let overflowItem1 = UIButton()
let checkboxCharacter: Character = "\u{25EF}"
overflowItem1.setTitle("\(checkboxCharacter) Allow Hub Wifi Reset", for: [])
overflowItem1.setTitleColor(UIColor.white, for: [])
overflowItem1.sizeToFit()
print(overflowItem1.frame.width)
我是 iOS 和 Swift 以及 UIKit 的新手,所以有许多项目被证明是令人困惑的。我创建了一个 UIButton,添加了一些文本,然后尝试获取按钮的 CGRect,但所有值都为零。其实我只是对宽度感兴趣。
这是我的代码(menuButtonMaxWidth 是一个 class 变量)
menuButtonMaxWidth = 0
let overflowItem1 = UIButton()
let checkboxCharacter: Character = "\u{25EF}"
overflowItem1.setTitle("\(checkboxCharacter) Allow Hub Wifi Reset", for: [])
overflowItem1.setTitleColor(UIColor.white, for: [])
overflowItem1.addTarget(self, action: #selector(overflowItem1Clicked(_:)), for: UIControl.Event.touchUpInside)
overflowItem1.translatesAutoresizingMaskIntoConstraints = false
if overflowItem1.frame.width > menuButtonMaxWidth {
menuButtonMaxWidth = overflowItem1.frame.width
}
overflowItem1.frame.width总是给零!调试显示 overflowItem1.frame 的 CGRect 具有全零值。我究竟做错了什么?这似乎应该如此直截了当。谢谢你的帮助。我一定是遗漏了一些东西或做了一些 iOS 禁忌但还没有流行起来的事情。
我使用的是 Xcode 12,我假设是 Swift 的最新版本。
在您的按钮上调用 sizeToFit()
以根据其内容调整其大小。
let overflowItem1 = UIButton()
let checkboxCharacter: Character = "\u{25EF}"
overflowItem1.setTitle("\(checkboxCharacter) Allow Hub Wifi Reset", for: [])
overflowItem1.setTitleColor(UIColor.white, for: [])
overflowItem1.sizeToFit()
print(overflowItem1.frame.width)