背景
頁面使用了UICollectionView,有要求點擊底部菜單選項的時候需要再次刷新頁面內(nèi)容忱反。在刷新的時候會有一個隱式動畫泛释。cell 會有一個從左上角開始的擴(kuò)大動畫,在代碼調(diào)用下拉刷新的時候尤其明顯温算。
collectionView.mj_header.beginRefreshing()
問題解決
參考【Objective-C】UICollectionView 取消隱式動畫在cell動態(tài)布局內(nèi)容修改的地方增加CATransaction的處理
public func configWithViewModel(_ vm: ViewModel?) {
CATransaction.begin()
CATransaction.setDisableActions(true)
...... //動態(tài)修改cell內(nèi)容的代碼
layoutIfNeeded()
CATransaction.commit()
}
發(fā)現(xiàn)擴(kuò)大動效有好轉(zhuǎn)怜校,但是還是有cell內(nèi)容高度方向的動畫
有同學(xué)嘗試在調(diào)用下拉刷新前設(shè)置了contentOffSet為0,代碼如下
collectionView.contentOffset = CGPoint(x: 0, y: 0)
collectionView.mj_header.beginRefreshing()
問題得到解決注竿。