无法设置CALayer的边框颜色

我正在尝试自定义UIButton的外观,如下所示:

@IBOutlet weak var button: UIButton! override func viewDidLoad() { super.viewDidLoad() button.layer.cornerRadius = button.frame.size.width / 2 button.layer.borderColor = UIColor.cyan.cgColor button.layer.borderWidth = 1 } 

但是,当我运行它时,它只显示按钮的文本,可能会导致什么问题?

问题是您太快运行此代码(在viewDidLoad )。 您的cornerRadius计算取决于calculateButton.frame ,但此时的值不知道。 将您的代码移动到viewDidLayoutSubviews ,我认为您会发现它按预期工作。