相关疑难解决方法(0)

动画高度时阴影/单元格闪烁

我的单元格上的阴影有问题(点击 GIF 以查看动画):

在此处输入图片说明

当我打电话时阴影闪烁beginUpdates

cell.tappedParentView
    .subscribe(onNext: { [weak self] in
        guard let self = self else { return }
        cell.animate()
        self.tableView.beginUpdates()
        self.tableView.endUpdates()

        self.expandedIndexPaths[indexPath] = !self.expandedIndexPaths[indexPath].or(false)
    })
    .disposed(by: cell.cellBag)
Run Code Online (Sandbox Code Playgroud)

animate单元格中的动画代码如下:

func animate() {
    spacerViewHeightConstraint?.constant = isExpanded ? 0.0 : 8.0

    parentView.updateLayout(isExpanded: !self.isExpanded)
    UIView.animate(withDuration: 0.2) {
           self.childViews.forEach {
               $0.isHidden = self.isExpanded
               $0.alpha = self.isExpanded ? 0.0 : 1.0
           }

         self.layoutIfNeeded()
    }

    isExpanded.toggle()
}
Run Code Online (Sandbox Code Playgroud)

并且updateLayout

func updateLayout(isExpanded: Bool, animated: Bool = true) {
    stackViewLeadingConstraint.constant = isExpanded ? 8.0 …
Run Code Online (Sandbox Code Playgroud)

uitableview ios swift

1
推荐指数
1
解决办法
168
查看次数

标签 统计

ios ×1

swift ×1

uitableview ×1