最近写项目用CALayer相关的控件绘制页面,当collectionview reload时,都会有闪烁的情况。
发现是CALayer隐式动画的原因,所以在reload的时候关闭隐式动画;
///关闭CALayer 隐式动画
#ifndef HFCLOSELAYERIMPLICITANIMATION
#define HFCLOSELAYERIMPLICITANIMATION(x) \
CATransaction.disableActions = YES;\
{x}\
[CATransaction commit];
#endif
HFCLOSELAYERIMPLICITANIMATION(
[self.collectionView reloadData];
)
网友评论