在Swift中parsing投票button
快速浏览我正在做的事情。 我正在制作一个应用程序来显示我的电影评论。 我有一个PFQueryTableviewController
我使用自定义单元格。 此表显示来自我的Parse数据库的电影。 在每个单元格中,有3个UIButtons,我希望用户用它来投票(happyVote,OkVote,sadVote)。 在每个button的顶部是一个简单地显示计数的UILabel。
我想如何工作
- 当用户按下其中一个button时,投票增加1。
- 当用户再次按下相同的button时,投票减less1.或者,
- 如果用户按下了不同的button,则第一个button上的投票减less,刚刚按下的button上的投票增加。
- 用户只能在其中一个button上投票。
- UILabel显示计数,并通过button图像变化显示投票。
看下面的视觉:
这是我在Parse中添加的内容:
到目前为止,我已经添加了代码来增加Parse中的投票计数,在我的TableViewController.swift
:
@IBAction func upVoteButton(sender: AnyObject) { let hitPoint = sender.convertPoint(CGPointZero, toView: self.tableView) let hitIndex = self.tableView.indexPathForRowAtPoint(hitPoint) let object = objectAtIndexPath(hitIndex) object!.incrementKey("UpVoteCount") object!.saveInBackground() self.tableView.reloadData() }
这样的作品,除了用户可以不断增加计数,他们可以在所有3个button上投票。 按下时不会改变button图像。
在我的cellForRowAtIndexPath
方法中,我已经把:
let downVote = object!.valueForKey("DownVoteCount") as! Int cell.downVoteLabel.text = "\(downVote)" let middleVote = object!.valueForKey("MiddleVoteCount") as! Int cell.middleVoteLabel.text = "\(middleVote)" let upVote = object!.valueForKey("UpVoteCount") as! Int cell.upVoteLabel.text = "\(upVote)"
我已经search了一些如何找出其余的例子,但找不到任何东西,我真的很难找出下一步的步骤。
任何帮助将不胜感激,请让我知道如果你需要/希望看到我的代码。 谢谢
在你的upVoteButton()
方法中,你可以添加其他两个button,并在if语句中设置button.enabled = false
如:
if downVoteButton.enabled == true { downVoteButton.enabled = false } else if downVoteButton.enabled == false { downVoteButton.enabled = True }
然后在middleVoteButton
语句中执行与middleVoteButton
相同的操作,或者使用相应的button,也可以使用其他button方法漂浮您的船。 这有助于在按下时禁用button,然后在再次按下时启用button。
而对于图像变化,你可以按照这个 。