点击时更改按钮的文本颜色
Changing a button's text color when tapped
我正在尝试让按钮的文本在点击时将字体颜色更改为红色。我查看了几个月前的类似帖子,使用该代码会导致 Xcode 6.1.1 中出现构建错误。这是我正在尝试的代码:
class ViewController: UIViewController {
@IBAction func firstButton(sender: UIButton) {
firstButton.titleLabel.textColor = UIColor.redColor()
}
}
我得到的错误代码是:
'(UIButton) -> ()' does not have a member named 'titleLabel'
任何帮助将不胜感激,因为我认为 Swift 是我在尝试学习 Objective C 时失去耐心后的救命稻草。
UIButton.titlelabel
是可选的 属性。您必须使用可选链接来更改其属性。
firstButton.titleLabel?.backgroundColor = UIColor.redColor()
请阅读 swift 选项以详细了解这一点。
http://www.appcoda.com/beginners-guide-optionals-swift/
您正在尝试更改函数 titleLabel
的文本颜色,这没有意义。如果您试图获取对按钮的引用以获取其 titleLabel
,则应该访问 sender
参数。此外,正如 rakeshbs 指出的那样,titleLabel
是 UIButton 的可选 属性。
class ViewController: UIViewController {
@IBAction func firstButton(sender: UIButton) {
sender.titleLabel?.textColor = UIColor.redColor()
}
}
如果您分解错误消息,您会发现这显然是问题所在。
'(UIButton) -> ()' does not have a member named 'titleLabel'
这表明您正在尝试访问类型为 (UIButton) -> ()
的对象上名为 titleLabel
的成员(或 属性),这意味着一个将按钮作为输入的函数returns什么都没有。
任何对解决我的这个问题所需的确切 swift 代码感兴趣的人,这里是:
class ViewController: UIViewController {
@IBAction func firstButton(sender: UIButton) {
sender.setTitleColor(UIColor.redColor(), forState: UIControlState.Normal)
}
这将适用于 Swift 3 :
yourButton.setTitleColor(UIColor.blue, for: .normal)
我正在尝试让按钮的文本在点击时将字体颜色更改为红色。我查看了几个月前的类似帖子,使用该代码会导致 Xcode 6.1.1 中出现构建错误。这是我正在尝试的代码:
class ViewController: UIViewController {
@IBAction func firstButton(sender: UIButton) {
firstButton.titleLabel.textColor = UIColor.redColor()
}
}
我得到的错误代码是:
'(UIButton) -> ()' does not have a member named 'titleLabel'
任何帮助将不胜感激,因为我认为 Swift 是我在尝试学习 Objective C 时失去耐心后的救命稻草。
UIButton.titlelabel
是可选的 属性。您必须使用可选链接来更改其属性。
firstButton.titleLabel?.backgroundColor = UIColor.redColor()
请阅读 swift 选项以详细了解这一点。 http://www.appcoda.com/beginners-guide-optionals-swift/
您正在尝试更改函数 titleLabel
的文本颜色,这没有意义。如果您试图获取对按钮的引用以获取其 titleLabel
,则应该访问 sender
参数。此外,正如 rakeshbs 指出的那样,titleLabel
是 UIButton 的可选 属性。
class ViewController: UIViewController {
@IBAction func firstButton(sender: UIButton) {
sender.titleLabel?.textColor = UIColor.redColor()
}
}
如果您分解错误消息,您会发现这显然是问题所在。
'(UIButton) -> ()' does not have a member named 'titleLabel'
这表明您正在尝试访问类型为 (UIButton) -> ()
的对象上名为 titleLabel
的成员(或 属性),这意味着一个将按钮作为输入的函数returns什么都没有。
任何对解决我的这个问题所需的确切 swift 代码感兴趣的人,这里是:
class ViewController: UIViewController {
@IBAction func firstButton(sender: UIButton) {
sender.setTitleColor(UIColor.redColor(), forState: UIControlState.Normal)
}
这将适用于 Swift 3 :
yourButton.setTitleColor(UIColor.blue, for: .normal)