UIDynamics和Autolayout

jan*_*kes 4 objective-c ios autolayout uikit-dynamics

最近我使用UIDynamics将图像视图设置为动画.但是,因为它的自动布局y-pos约束被设置为屏幕外,当从屏幕导航然后返回到它时,我的图像视图再次被放置在屏幕外.动画花了大约3秒钟,所以三秒后我就重置了约束.这感觉有点hacky.

所以我的问题是:同时处理自动布局和UIDynamics的正确方法是什么?

mat*_*att 5

这不是一个真正的动态问题.Autolayout与任何视图动画或框架的任何手动设置都不兼容:当布局出现时,它将遵循约束条件.如果您以任何方式手动移动视图,更新约束以匹配其新位置/大小/等等,由您决定.

话虽如此:使用UIKit Dynamics,当动画结束时,动画师将暂停,并通知动画师的代表:

https://developer.apple.com/library/ios/documentation/uikit/reference/UIDynamicAnimatorDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intfm/UIDynamicAnimatorDelegate/dynamicAnimatorDidPause:

所以这是更新约束的时刻.