菜鸟教程小白 发表于 2022-12-12 12:07:06

ios - 动态对象可以是 UIImageView


                                            <p><p>我有一个 <code>UIDynamicAnimator</code> 行为:<code>UIPushBehaviour</code>。我知道 <code>UIView</code> 对象可以通过 <code>initWithReferenceView</code> 变成动态对象。但是动态对象是否有可能成为 <code>UIImageView</code>。如果是这样,怎么办? </p>

<p>(我看过苹果开发者文档,对<code>UIDynamicAnimator</code>的概念还真没把握,如有愚蠢请见谅)</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>任何事物都不会“成为动态对象”。这不是思考的方式。动态动画师具有行为。行为有项目。一个 View 可以是一个项目。这意味着 <code>UIDynamicAnimator</code> 可以为 <code>UIImageView</code> 设置动画。该 View 不知道它正在被动画化。它只是反复调用 <code>setCenter:</code>(如下面的@Rob 注释,还有 <code>setTransform:</code> 和 <code>bounds</code>)。 ImageView 和任何其他类型的 View 在这里没有区别。</p>

<p>理解的关键是 UIKit Dynamics 是完全倒退的。在 <code>UIView</code> 动画和 Core Animation 中, View 与动画密切相关。您可以向 View 询问其动画,添加和删除它们等。但是 UIKit Dynamics 是粘在上面的,并且完全在 View 之外工作。您不能询问 View 是否由 UIKit Dynamics 管理。你只能问 UIKit Dynamics 它在处理什么 View (而且你不能总是轻易地问这个问题)。</p>

<p>根据我的经验,如果您的动画非常简单,UIKit Dynamics 可以正常工作。但是如果事情很复杂,您可能需要使用 Core Animation(或 SpriteKit,取决于您的需要)手动完成。它的文档也很少。哦,各种行为都有非常不一致的 API。它不是我最喜欢的 Cocoa 框架...</p>

<p>如果您想查看这方面的一些示例,您可能需要从 iOS 7 中下载示例代码:PTL (<a href="http://iosptl.com" rel="noreferrer noopener nofollow">iosptl.com</a>)<a href="https://github.com/iosptl/ios7ptl/blob/master/ch19-dynamics/Dynamics/Dynamics/ViewController.m" rel="noreferrer noopener nofollow">Chapter 19</a> .它包括将推送动画师放到 View 中。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 动态对象可以是 UIImageView,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/26371308/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/26371308/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 动态对象可以是 UIImageView