通过触摸按钮 Swift 3 更改 UIButton 文本标签颜色

Posted

技术标签:

【中文标题】通过触摸按钮 Swift 3 更改 UIButton 文本标签颜色【英文标题】:Change UIButton textlabel color by touching the button Swift 3 【发布时间】:2017-03-27 16:21:56 【问题描述】:

我阅读了一些文章,但没有找到解决我问题的解决方案。目前我正在用 Swift 3 构建一个 ios 应用程序。我在视图中放置了一个名为 registerButton 的 UIButton。如果有人触摸按钮,则会出现一个新的 ViewController(newController)。除此之外,当用户触摸按钮并按住它时,应该更改 registerButton.textlabel.setColor() 的颜色吗? newController 的显示有效,但 textLabel 的更改颜色无效。我在注册函数中更改了 registerButton 的颜色。有人有想法吗?谢谢

var registerButton: UIButton = 
    let button = UIButton(type: .system) 
    button.setTitle("Registration", for: .normal)
    button.setTitleColor(UIColor.white, for: .normal)
    button.addTarget(self, action: #selector(registration), for: .touchUpInside) // Action
    return button
()

   func registration()

    let color = UIColor(r: 255, g: 0, b: 102)// red
    registerButton.setTitleColor(color, for: .highlighted)
    let newController = ViewController()

    present(newController, animated: true, completion: nil)

  

Button normal

Button pressed no red text label

【问题讨论】:

您想在按下按钮时更改按钮文本的文本颜色。对吧?? @Md.易卜拉欣·哈桑 没错!我想在按下按钮时更改按钮的颜色。如果我使用状态 .touchDown (@dfd 提到),则无法按住按钮。新的 ViewController 立即出现。 【参考方案1】:
var registerButton: UIButton = 
let button = UIButton(type: .system) 
button.setTitle("Registration", for: .normal)
button.setTitleColor(UIColor.white, for: .normal)
button.addTarget(self, action: #selector(colorChange), for: .touchDown)
button.setTitleColor(.red, for: .highlighted)
// Action
return button
()

这应该可以正常工作

【讨论】:

谢谢你的工作。问题是我更改了注册功能中的颜色。现在我更改存储属性 registerButton 中的颜色!【参考方案2】:

尝试在创建按钮时更改状态Focused的颜色,而不是在按下时。

     var registerButton: UIButton = 
    let button = UIButton(type: .system) 
    button.setTitle("Registration", for: .normal)
    button.setTitleColor(UIColor.white, for: .normal)
    button.setTitleColor(UIColor.red, for: .focused)
    button.addTarget(self, action: #selector(registration), for: .touchUpInside) // Action
    return button
()

【讨论】:

focused无关 但是在创建按钮时?

以上是关于通过触摸按钮 Swift 3 更改 UIButton 文本标签颜色的主要内容,如果未能解决你的问题,请参考以下文章

UICollectionViewCell 中的 Swift 3 按钮不响应触摸

斯威夫特,触摸 UIButton 并触摸另一个

viewDidLoad 中未知的情节提要按钮

在 UICollectionView 底部加载其他单元格

Swift设置按钮图像

在Swift中单击按钮而不释放触摸[重复]