用Swift 5编写的项目中的ViewController
不正确地渲染了UIButtons
。当我以编程方式将UIButton添加到UIView时,它显示为白色文本,而不是普通的iOS蓝色。
以下是确切显示我如何向视图添加按钮的代码:
let goButton = UIButton(frame: CGRect(x: 20, y: 60, width: 60, height: 60))
goButton.setTitle("Go", for: .normal)
designerView.addSubview(goButton)
在屏幕截图中,我将背景设置为透明以显示问题,因为当显示为白色时,以编程方式添加的背景将不会显示。
我没有任何全局样式或按钮扩展名。我试图删除UIViewController和UIView,然后重新添加它们,但这并不能解决我遇到的问题。
这是情节提要上的设置问题吗?我是否需要手动调用setTitleColor
来设置值?无论是通过情节提要添加按钮还是通过代码手动添加按钮,按钮都不一样吗?
答案 0 :(得分:0)
问题出在您创建按钮的方式上。您应该使用init(type:)
初始化程序,然后设置框架。
let goButton = UIButton(type: .system)
goButton.frame = CGRect(x: 20, y: 60, width: 60, height: 60)
goButton.setTitle("Go", for: .normal)
这将提供预期的蓝色按钮文本。
将type
设置为.custom
还会产生白色文本,这是您使用init(frame:)
初始化程序默认获得的文本。