'buttonAdd'是一個函數,而不是一個按鈕。
試試這個代碼。
if let button = sender as? UIButton
{
button.backgroundColor = UIColor.cyan
// button.backgroundColor = .clear
button.layer.cornerRadius = 15
button.layer.borderWidth = 1
button.layer.borderColor = UIColor.black.cgColor
}
所以,你要初始化與roundedCorner和邊框的按鈕。
有一個'viewDidLoad'函數在視圖控制器的生命週期中只調用一次。 如果你只想做一件事,在'viewDidLoad'函數中做。
override func viewDidLoad()
{
super.viewDidLoad()
let btn = UIButton(type: .custom)
btn.frame = .init(x: 100, y: 100, width: 100, height: 30)
btn.setTitle("Hello", for: .normal)
btn.backgroundColor = UIColor.cyan
btn.layer.cornerRadius = 15
btn.layer.borderColor = UIColor.black.cgColor
btn.layer.borderWidth = 1
// you must call this for rounded corner
btn.layer.masksToBounds = true
self.view.addSubview(btn)
}
如果您在Interface Builder中創建了按鈕,可以這樣做。
@IBOutlet weak var btn: UIButton!
override func viewDidLoad()
{
super.viewDidLoad()
btn.layer.cornerRadius = 15
btn.layer.borderColor = UIColor.black.cgColor
btn.layer.borderWidth = 1
// you must call this for rounded corner
btn.layer.masksToBounds = true
}
我意識到buttonAdd是一個函數,但是它的一鍵操作功能,因此它不會受到打擊,直到按下一個按鈕,所以我應該把初始化代碼的按鈕。它顯然必須在該功能之外。我還需要將init代碼放入一個調用或函數中嗎?而其他不清楚的東西是屬性.Name或它在Swift中的等價位置。如果沒有名稱屬性,您如何才能在全球範圍內引用控件 – ot1