Flash滚动指示灯不起作用

时间:2015-01-31 13:57:09

标签: ios uitableview swift

我在地图视图的顶部显示了我的表视图。我想向用户显示tableView是可滚动的。这是我的主流话题:Swift - How to attach bar to the top of table view?

我尝试使用

self.tableView.flashScrollIndicators()

在我的ViewDidLoad()方法中,但这不会改变任何内容,表视图看起来与以前完全相同。我读到的建议可能是由于重新加载tableView并用数据填充它,而创建的tableView是空的。尽管如此,我尝试在其他项目中粘贴flashScrollIndicators()方法,其中使用单元格立即创建表格 - 再次没有显着差异。

我做错了什么或在错误的地方使用该方法?

3 个答案:

答案 0 :(得分:5)

您在错误的地方使用该方法。在viewDidLoad中,视图刚刚完成加载。它还没有显示出来。一个安全的替代方法是将呼叫转移到您的视图控制器的viewDidAppear:方法,以确保您不会尝试闪烁滚动指示器,直到视图已经在屏幕上。

override func viewDidAppear(animated: Bool) {
    super.viewDidAppear(animated)
    self.tableView.flashScrollIndicators()   
}

答案 1 :(得分:5)

如果有人仍然在解决这个问题,这是我的工作解决方案 - 适用于iOS 11.在我的情况下,flashScrollIndicators()在第一次调用viewDidAppear(animated:)时无效。延迟调用flashScrollIndicators()可以解决问题。

    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
        DispatchQueue.main.asyncAfter(deadline: (.now() + .milliseconds(500))) {
            self.collectionView.flashScrollIndicators()
        }
    }

答案 2 :(得分:0)

快捷键4

override func viewDidAppear(_ animated: Bool) {

    super.viewDidAppear(animated)
    self.tableView.flashScrollIndicators()

}