KYMagicMove icon indicating copy to clipboard operation
KYMagicMove copied to clipboard

进入第二个页面先偏移后正常

Open cheshuangchun opened this issue 10 years ago • 3 comments

你好,感谢你的分享。发现一个问题,进入第二个界面的时候,图片先偏移到右边,然后回到中间位置,是什么原因啊?

cheshuangchun avatar Aug 24 '15 03:08 cheshuangchun

[container layoutIfNeed]; 请在执行动画的时候加上这一句。

XueSeason avatar Nov 24 '15 01:11 XueSeason

这个问题,在iOS7时候存在,iOS8修复了,iOS9又出现了,建议直接使用UIViewControllerContextTransitioning 中提供的finalFrameForViewController来重新改变VC.view.frame

eg: toVC.view.frame = [transitionContext finalFrameForViewController:toVC];

我试了在各个地方添加[view layoutIfNeeded] ,没什么效果。

huangzhifei avatar Dec 06 '15 15:12 huangzhifei

本人 iOS 9.1 模拟器亲测最新代码是有效的,并无异常。至于 layoutIfNeed 加在哪里,请看 commit 记录。而且源代码中已经存在 toVC.view.frame = [transitionContext finalFrameForViewController:toVC]; 了。没必要再加一句。归根结底应该是 自动布局 和 转场动画 的执行顺序差异导致的。使用 layoutIfNeed 可以提前开始自动布局,解决此错误。

XueSeason avatar Dec 07 '15 00:12 XueSeason