我在我的应用程序页面上添加了一个简单的更新按钮。该按钮具有imageView,并且在视图顶部应具有标题“立即更新”。

在视图层次结构中,我可以将UILabel视为UIButton的子视图。但是打印UILabel的描述返回框架

(250 20; 283 0).

这是我的代码
let updateButton = UIButton()
updateButton.frame = CGRect(x: centreX(parent: self.view, width: 150), y: 200, width: 150, height: 40)
updateButton.setImage(UIImage(named:"my-image"), for: .normal)

updateButton.setTitle("Update Now", for: .normal)
updateButton.titleLabel?.sizeToFit()
updateButton.titleLabel?.frame = updateButton.frame
updateButton.setTitleColor(UIColor.black, for: .normal)
self.view.addSubview(updateButton)

我以为这两条线
updateButton.titleLabel?.sizeToFit()
updateButton.titleLabel?.frame = updateButton.frame

会改变标签框架的高度。我在这里缺少什么吗?

使用Swift 3.0和iOS 10

最佳答案

我认为您需要设置背景图像而不是如下图像

updateButton.setBackgroundImage(UIImage(named: "my-image"), for: .normal)

关于ios - Swift 3.0-UIButton标签高度为零,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45101074/

10-11 14:57