
我有动画工作,但当我反转动画时,我看到一个闪烁. “to”视图(即原始视图)在0,0的原点可见,尽管我设置了不同的帧.
我转储了视图层次结构.帧设置正确(-100 0; 320 480用于查看),但是它显示为0,0.视图的屏幕截图是否缓存在动画的某处?
- (voID)animateTransition:(ID<UIVIEwControllerContextTransitioning>)TransitionContext{UIVIEwController *fromVIEwController = [TransitionContext vIEwControllerForKey:UITransitionContextFromVIEwControllerKey];UIVIEwController *toVIEwController = [TransitionContext vIEwControllerForKey:UITransitionContextToVIEwControllerKey];UIVIEw *container = [TransitionContext containerVIEw];CGRect offsetCoverRect = CGRectMake(-100.0,0.0,320,480);CGRect detailsRect = CGRectMake(-100.0 + 320.0,480);CGRect detailsOutsIDeRect = CGRectMake(320.0,480);CGRect normalRect = CGRectMake(0.0,480);if (self.revealDetails){ toVIEwController.vIEw.frame = detailsOutsIDeRect; [container addSubvIEw:toVIEwController.vIEw];}else{ [container insertSubvIEw:toVIEwController.vIEw belowSubvIEw:fromVIEwController.vIEw]; // reversing… set the frame to the original offset (shows at 0,0 for a moment) toVIEwController.vIEw.frame = offsetCoverRect;}[UIVIEw animateKeyframesWithDuration:2 delay:0 options:0 animations:^{ if (self.revealDetails) { fromVIEwController.vIEw.frame = offsetCoverRect; toVIEwController.vIEw.frame = detailsRect; } else { fromVIEwController.vIEw.frame = detailsOutsIDeRect; toVIEwController.vIEw.frame = normalRect; }} completion:^(BOol finished) { [TransitionContext completeTransition:finished]; }];} 更新:
它似乎与UIModalPresentationCustom有关.我需要使用它,以便在转换完成时不删除from视图.但是,它似乎假设反向转换的from视图控制器从0,0开始.
更新2:
使用以下代码非常容易重现:
UIVIEw *snapshot = [containerVIEw snapshotVIEwAfterScreenUpdates:NO];[containerVIEw addSubvIEw:snapshot];
以上将显示以屏幕为中心的视图,无论我在动画之前设置的实际帧或中心.
解决方法 我知道这是一个老问题,但我遇到了同样的问题,经过几个小时的挣扎,终于想出了一个解决方案:在本动画的完成块中,
>创建fromVIEwController视图的快照
>对快照执行帧更改/转换
>将快照添加到containerVIEw
>从容器视图中删除fromVIEwController视图
>在解雇动画的完成块中(或者在解除动画的任何地方?),从容器中删除快照
通过从容器视图中删除fromVIEwController的视图,它不会重置为它的初始位置,因为它不再位于容器视图中.
总结以上是内存溢出为你收集整理的自定义视图控制器转换iOS 7期间闪烁全部内容,希望文章能够帮你解决自定义视图控制器转换iOS 7期间闪烁所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)