「ボタン追加」はボタンではなく機能です。
このコードを試してください。
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との国境で、ボタンを初期化します。
View Controllerのライフサイクルで一度だけ呼び出される '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が関数であることを認識していますが、ボタンのAction関数であるため、ボタンが押されるまでヒットすることはありません。明らかにその機能の外に存在しなければならない。もう一度私はコールまたは関数にinitコードを入れなければならないのですか?私には分かりませんが、Swiftのプロパティ名やEquivalentsはどこにあるのですか?名前プロパティがなければ、どのようにコントロールをグローバルに参照できますか? – ot1