禁用滚动到顶部

时间:2017-01-22 14:48:25

标签: swift uitableview firebase uiscrollview firebase-realtime-database

我正在使用Firebase构建聊天应用程序,我遇到问题是在reloadData()之后滚动顶部。

如何禁用它?

这是我的代码

func retrieveDataFromFirebase(){
    FIRDatabase.database().reference().child("share").child("post").observe(.value) { (snapshot:FIRDataSnapshot) in
        if let snapshots = snapshot.children.allObjects as? [FIRDataSnapshot]{
            self.key.removeAll()
            self.users.removeAll()
            for snap in snapshots{
                self.key.append(snap.key)
                if let dic = snap.value as? [String:AnyObject]{
                    let msg = Message()
                    msg.setValuesForKeys(dic)
                    self.users.append(msg)
                }

            }
            DispatchQueue.main.async {
                self.tableView.reloadData()
            }
        }
    }
}

2 个答案:

答案 0 :(得分:0)

进入UIScrollView类(由UITableView实现),您拥有scrollsToTop变量。

尝试将其设置为false

或者您需要创建一个委托,在重新加载数据时拒绝滚动到顶部。

参考文献: https://developer.apple.com/reference/uikit/uiscrollview https://developer.apple.com/reference/uikit/uiscrollview/1619421-scrollstotop

https://developer.apple.com/reference/uikit/uiscrollviewdelegate/1619378-scrollviewshouldscrolltotop

答案 1 :(得分:0)

尝试将您的tableview滚动到最后一个索引。

emplace_back