跟踪按钮上的水龙头?

goo*_*utt 1 xcode uitableview nsindexpath ios swift

有没有办法记录用户点击按钮的次数?我希望在用户点击按钮很多次之后执行一个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)   
    }
Run Code Online (Sandbox Code Playgroud)

Mik*_*ash 5

您可以在视图控制器中创建整数变量,并将其用作计数器 - >也就是说,当用户点击它时,如果您有足够的点击执行segue或其他任何操作.

例如:

var tapCounter = 0
Run Code Online (Sandbox Code Playgroud)

作为视图控制器中的声明.

func tapGestureForElement(gest:UIGestureRecognizer){
    tapCounter = tapCounter + 1
    if(tapCounter == 123){
        //performSegue
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑::

第二部分:

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)
}
Run Code Online (Sandbox Code Playgroud)

编辑2:

你甚至可以做一些更好的事情,你可以检查你是否到达了部分行的末尾:

if( row!+1 == tableView. numberOfRowsInSection(indexPath.section)
Run Code Online (Sandbox Code Playgroud)

最后一部分没有经过测试,但应该是它.