Swift 5中如何为UIButton创建点击事件并设置圆角(附登录按钮示例)
设置圆角
给UIButton添加圆角核心是操作按钮的layer属性:
- 通过
layer.cornerRadius设置圆角半径,数值按需调整(示例中设为15) - 必须开启
clipsToBounds = true,确保按钮的背景色、文字或图片不会超出圆角范围,否则圆角效果可能不完整
添加点击事件
绑定点击事件需要用到addTarget(_:action:for:)方法,同时要实现对应的响应函数。
以下是完整的登录按钮示例代码,包含圆角设置和点击事件绑定:
lazy var loginButton: UIButton = { let button = UIButton() button.setTitle("Log In", for: .normal) button.backgroundColor = .red // 设置圆角 button.layer.cornerRadius = 15 button.clipsToBounds = true // 添加点击事件 button.addTarget(self, action: #selector(loginButtonTapped), for: .touchUpInside) return button }() // 点击事件响应方法 @objc private func loginButtonTapped() { // 此处编写按钮点击后的业务逻辑,比如发起登录请求 print("登录按钮被点击") }
如果在viewDidLoad中创建按钮,也可以在初始化后单独添加点击事件:
override func viewDidLoad() { super.viewDidLoad() let loginButton = UIButton() loginButton.setTitle("Log In", for: .normal) loginButton.backgroundColor = .red loginButton.layer.cornerRadius = 15 loginButton.clipsToBounds = true // 添加点击事件 loginButton.addTarget(self, action: #selector(loginButtonTapped), for: .touchUpInside) view.addSubview(loginButton) // 记得给按钮添加布局约束 }
内容的提问来源于stack exchange,提问作者Chithian
相关产品推荐
相关产品推荐

