我想让用户用一个按钮给 +1 或用另一个按钮给 -1 分,但他们应该只能按一次这些按钮中的一个...
我使用这段代码,但用户仍然可以多次点击按钮...
var job: Job! {
didSet {
jobLabel.text = job.text
likeButton.setTitle("👍 \(job.numberOfLikes)", for: [])
dislikeButton.setTitle("👎 \(job.numberOfDislikes)", for: [])
}
}
@IBAction func dislikeDidTouch(_ sender: AnyObject)
{
(dislikeDidTouch).isEnabled = false
job.dislike()
dislikeButton.setTitle("👎 \(job.numberOfDislikes)", for: [])
dislikeButton.setTitleColor(dislikeColor, for: []) }
@IBAction func likeDidTouch(_ sender: AnyObject)
{
sender.userInteractionEnabled=YES;
job.like()
likeButton.setTitle("👍 \(job.numberOfLikes)", for: [])
likeButton.setTitleColor(likeColor, for: [])
}
最佳答案
因为发送者是一个 UIButton
,所以最好像这样构造函数
@IBAction func dislikeDidTouch(_ sender: UIButton)
@IBAction func likeDidTouch(_ sender: UIButton)
每个里面都有
sender.isEnabled = false
关于ios - 让用户只按一次按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51679558/