我有一个简单的按钮,最初带有emoji表情标签,而我要做的就是单击该按钮后删除emoji表情。
serviceProviderBuilder
当我单步执行代码时,语句import UIKit
class ViewController: UIViewController {
@IBAction func touchCard(_ sender: UIButton) {
flipCard(withEmoji: "", on: sender)
}
func flipCard(withEmoji emoji: String, on button:UIButton){
if button.currentTitle == emoji {
button.setTitle("", for: UIControl.State.normal)
print("Removed emoji")
}
}
}
被执行,但是在单击按钮后,表情符号虽然消失了,但表情并没有消失。
编辑:标题确实得到更新,但是需要几(8-10)秒钟来完成。但是,用另一个表情符号替换表情符号几乎是瞬间的!可能是什么原因导致的?我该如何解决?
PS:我正在关注CS193P讲座(讲座1)here。
答案 0 :(得分:1)
您可能希望使用button.title(for: .normal)
而不是button.currentTitle
。
答案 1 :(得分:0)
如果按钮褪色,则可能已被禁用。如果将标题设置为禁用状态并执行button.setTitle("", for: UIControl.State.normal)
,则UIControl.State.disabled
的标题将不会发生任何事情。
检查button.setTitle("", for: UIControl.State.disabled)
是否能解决问题。
答案 2 :(得分:0)
您可以像下面为我添加的功能那样简单地替换您的功能。
func flipCard(withEmoji emoji: String, on button:UIButton){
if button.currentTitle == emoji {
button.setTitle("", for: .normal)
button.setTitle("", for: .selected)
button.setTitle("", for: .disabled)
print("Removed emoji")
}
}
希望这样可以帮助您。