我在UIViewController中有一个带有动态单元格(一个原型)的UITableView。每个单元都有相同的标识符,因此可以重复使用。单元格的高度在运行时进行了详细说明,因为它包含异步加载且具有不同比率的图像。换句话说,它的工作原理与Instagram主页完全相同,并且具有分页功能。
问题是,当我点击状态栏时,它开始滚动到顶部,但是在到达顶部之前停止。如果我手动滚动到顶部,请返回表格末尾,然后点按状态栏,即可正常工作。知道问题可能在哪里吗?我认为这取决于重复使用细胞...
extension ResultsListViewController: UITableViewDelegate, UITableViewDataSource {
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return UITableView.automaticDimension
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return posts.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "postCell", for: indexPath) as! PostCell
cell.setPost(posts[indexPath.row])
return cell
}
}
如您所见,这是非常标准的。我不使用状态栏来处理状态栏上的点击。