我有一个视图控制器,里面有一个集合视图。它具有用于显示半张纸状态和全张纸状态的逻辑。
当我从半张纸状态导航到整张纸状态时,会有一个动画将我们从半张纸状态转换到整张纸状态。在此动画过程中,屏幕外的我的收藏集视图单元中的某些视图正在被动画化。
视图层次结构为UICollectionView
-> CustomUICollectionViewCell
-> CustomUIView
(对于单元格)->(3个自定义视图,CustomLeftView
,CustomMiddleView
,{{1} }。
当视图控制器从半张纸状态变为全张纸状态时,这3个自定义视图都在动画中移动。
我认为我可以通过在CustomUIView的布局子视图中使用功能CustomRightView
来解决此问题,因为这三个视图正在设置动画。但是,这三个自定义视图仍在设置动画。
当我覆盖要包装在+ (void)performWithoutAnimation:(void (^)(void))actionsWithoutAnimation;
中的3个自定义视图的layoutSubviews函数时,这些视图将不进行动画处理,而是按照我的期望以完整尺寸显示。
问题是双重的:
+ (void)performWithoutAnimation:(void (^)(void))actionsWithoutAnimation;
中,这似乎很不客气。 关于如何防止这种动画而不覆盖3个自定义子视图layoutSubviews的任何想法?