尝试获取它,使不透明度设置为0,但当单元格显示时,请将其设置为1。所以我在浏览帖子时有一种淡入的感觉。我得到了我想要的外观,但是当我滚动的时候,我已经有一两秒钟无法与tableview交互了。
我在斯威夫特也是新手,所以任何帮助都会很好!!
这是我的代码:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

    if let cell = tableView.dequeueReusableCell(withIdentifier: cellIdentifier, for: indexPath) as? PostCell {

        cell.contentView.alpha = 0

        cell.updateUI(postData: posts[indexPath.row])

        return cell
    } else {
        return UITableViewCell()
    }

}

func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
    UIView.animate(withDuration: 0.4) {
        cell.contentView.alpha = 1
    }
}

最佳答案

默认情况下,UIView.animate将阻止用户交互。您可以尝试添加.allowUserInteraction选项。

func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
    UIView.animate(withDuration: 0.4, delay: 0, options: UIViewAnimationOptions.allowUserInteraction, animations: {
        cell.contentView.alpha = 1
    }, completion: nil)
}

关于swift - 我在滚动时有UITableViewCell不透明度更改,但是用户交互有一到两个延迟。我怎样才能解决这个问题?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51623814/

10-13 06:34