有没有办法记录用户点击按钮的次数?我希望在用户点击按钮很多次之后执行一个segue。截至目前,我正在跟踪有多少次点击。
@IBAction func nextbuttontest(sender: AnyObject) {
let button = sender as! UIButton
let view = button.superview!
let cell = view.superview as! NewFeedControllerCell
let indexPath = tableView.indexPathForCell(cell)
let row = indexPath?.row
tableView.scrollToRowAtIndexPath(NSIndexPath(forRow: row!+1, inSection: 0),
atScrollPosition: UITableViewScrollPosition.Top,
animated: false)
}
答案 0 :(得分:5)
您可以在视图控制器中创建整数变量,并将其用作计数器 - >也就是说,当用户点击它时,如果你有足够的点击执行segue或其他任何东西。
例如:
var tapCounter = 0
作为视图控制器中的声明。
func tapGestureForElement(gest:UIGestureRecognizer){
tapCounter = tapCounter + 1
if(tapCounter == 123){
//performSegue
}
}
EDIT ::
第二部分:
if(row!+1 == yourArray.count){ // or == 10, as you mentioned in comments, but I think that is a bad practice
//do nothing or do something, up to you :)
{
else{
tableView.scrollToRowAtIndexPath(NSIndexPath(forRow: row!+1, inSection: 0), atScrollPosition: UITableViewScrollPosition.Top, animated: false)
}
编辑2:
你甚至可以做得更好,你可以检查你是否到达了部分行的末尾:
if( row!+1 == tableView. numberOfRowsInSection(indexPath.section)
最后一部分未经过测试,但应该是它。
答案 1 :(得分:1)
就像NickCatib所说,向视图控制器添加tapCounter
属性。但是,当抽头计数达到所需值时,不要手动触发segue,而是覆盖shouldPerformSegueWithIdentifier:sender:
,以便在达到抽头计数之前不会为该特定segue返回YES
。