userInteraction

时间:2017-01-12 10:28:08

标签: ios swift uitableview

我目前在UITableView中使用自动滚动到底部,但有一个错误需要解决:

如果我在执行滚动之前按下UITableView的任何位置,那就停止工作了。 (在显示视图之前我无法滚动到底部,因为我检索异步数据) 所以我认为首先要禁用userInteraction,如下所示:

    override func viewDidLoad() {
        super.viewDidLoad()
        self.view.userInteractionEnabled = false
        ...
}

并在此解锁:

func tableViewScrollToBottom(animated: Bool) {        
    let delay = 0.1 * Double(NSEC_PER_SEC)
    let time = dispatch_time(DISPATCH_TIME_NOW, Int64(delay))

    dispatch_after(time, dispatch_get_main_queue(), {

        let numberOfSections = self.tableView.numberOfSections
        let numberOfRows = self.tableView.numberOfRowsInSection(numberOfSections-1)

        if numberOfRows > 0 {
            let indexPath = NSIndexPath(forRow: numberOfRows-1, inSection: (numberOfSections-1))
            self.tableView.scrollToRowAtIndexPath(indexPath, atScrollPosition: UITableViewScrollPosition.None, animated: animated)

        }
        self.view.userInteractionEnabled = true
    })
}

但是(它真的很奇怪)不起作用,是的,视图被禁用(我甚至试图锁定UITableView)我无法滚动UITableView但似乎它无论如何都可以检索触摸。

0 个答案:

没有答案