在 Swift 中以编程方式更改 UIButton 的文本
swiftserver side programmingprogramming
要在 Swift 中更改 UIButton 的文本,您可以使用按钮的 setTitle() 方法。此方法接受一个参数来设置特定状态的按钮标题。通常,我们使用正常的按钮状态。
我们将按照以下步骤以编程方式更改按钮的文本 -
步骤 1 - 在此步骤中,我们将创建两个按钮(登录和 T & C)并添加基本自定义。
步骤 2 - 在此步骤中,我们将更改登录按钮的文本。
步骤 3 - 在此步骤中,我们将更改条款和条件按钮的文本。
示例
在此示例中,我们将创建两个按钮。第一个用于设置普通文本,另一个用于属性文本。在此步骤中,我们将添加并自定义按钮。之后,我们将为两个按钮添加约束。以下是代码。
import UIKit class TestController: UIViewController { private let loginButton = UIButton() private let termsConditionButton = UIButton() override func viewDidLoad() { super.viewDidLoad() initialSetup() } private func initialSetup() { // 基本设置 view.backgroundColor = .white navigationItem.title = "UIButton" // 登录按钮自定义 loginButton.backgroundColor = UIColor.gray loginButton.setTitleColor(.white, for: .normal) loginButton.layer.cornerRadius = 8 loginButton.clipsToBounds = true // 条款和条件按钮自定义 termConditionButton.backgroundColor = UIColor.gray termConditionButton.setTitleColor(.white, for: .normal) termConditionButton.layer.cornerRadius = 8 termConditionButton.clipsToBounds = true // 向登录按钮添加约束 view.addSubview(loginButton) loginButton.translatesAutoresizingMaskIntoConstraints = false loginButton.centerYAnchor.constraint(equalTo: view.centerYAnchor).isActive = true loginButton.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true loginButton.heightAnchor.constraint(equalToConstant: 50).isActive = true loginButton.widthAnchor.constraint(equalToConstant: 280).isActive = true // 将约束添加到条款和条件按钮 view.addSubview(termsConditionButton) termConditionButton.translatesAutoresizingMaskIntoConstraints = false termConditionButton.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true termConditionButton.heightAnchor.constraint(equalToConstant: 50).isActive = true termConditionButton.widthAnchor.constraint(equalToConstant: 280).isActive = true termsConditionButton.topAnchor.constraint(equalTo: loginButton.bottomAnchor, constant: 30).isActive = true } }
输出
在上面的例子中,两个按钮都已通过编程约束进行了自定义并添加到视图中。现在,我们将设置文本。
更改登录按钮的文本
在下面的例子中,我们将使用 setTitle() 方法更改文本。下面是一个例子。
示例
private func initialSetup() { // other statements setLoginButtonTitle() } private func setLoginButtonTitle() { loginButton.setTitle("Login", for: .normal) }
输出
在上面的代码中,我们通过调用 setTitle() 方法来设置按钮的文本。在此方法中,我们传递要为其设置文本的按钮状态。这是因为按钮元素中有不同的状态可用。但我们主要处理的是正常状态。按钮在正常模式下处于按钮的默认状态。如果处于不同状态,将使用相同的方法来设置文本。
更改条款和条件按钮的文本
在此示例中,我们将为按钮设置属性标题。这是一个例子。
示例
private func initialSetup() { // other statements setConditionsButtonTitle() } private func setConditionsButtonTitle() { termsConditionButton.backgroundColor = .clear let attributes: [NSAttributedString.Key: Any] = [ .foregroundColor: UIColor.blue, .font: UIFont.systemFont(ofSize: 18, weight: .semibold), .underlineStyle: NSUnderlineStyle.single.rawValue ] let attributedText = NSAttributedString(string: "Terms & Conditions", attributes: attributes) termsConditionButton.setAttributedTitle(attributedText, for: .normal) }
输出
在上面的代码中,我们为按钮设置了属性标题。我们将前景色和下划线样式应用于按钮。
结论
在本文中,您了解了设置文本和属性文本的 setTitle() 方法。可以使用相同的方法来应用文本。您可以使用相同的方法为不同的状态设置标题。