菜鸟教程小白 发表于 2022-12-11 18:13:32

ios - tableView.moveRow 的自定义动画(在 : to:)


                                            <p><p>我有一个 UITableView,它设置了三个部分,可以按预期工作。</p>

<p>点击按钮时,一次多个单元格将在第 0 和第 1 部分或第 1 和第 2 部分之间移动。这一切都很好,但是默认动画对我的需要来说太快了。是否可以定义自定义动画或完全删除默认动画...</p>

<pre><code>tableView.moveRow(at: IndexPath(row: 0, section: 0), to: IndexPath(row: 0, section: 1))
</code></pre>

<p>我曾尝试使用 <code>tableView.insertRows</code> 和 <code>tableView.deleteRows</code> 并将它们的动画设置为 <code>.none</code> 作为替代方案,但即便如此仍然是默认动画,其中行相互折叠并消失。</p>

<p>提前致谢!</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><h3>使用自定义动画实现自定义方法</h3>

<p>iOS 中的默认动画是使用委托(delegate)方法和枚举值的组合触发的。动画被烘焙到 UITableView 组件中。要实现您自己的自定义动画,您需要定义自己的方法来处理 CRUD 操作并重写 drawRect 方法以根据您的时间需求仔细实现您的动画。当然,您还需要处理自己的删除和数据源同步。</p>

<h3>考虑以下</h3>

<p>从哲学上讲,如果偏离标准时间安排,您将偏离此操作的标准化 iOS 体验。通过这样做,您的用户可能会感觉到您的应用程序性能较差。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - tableView.moveRow 的自定义动画(在 : to:),我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/44997116/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/44997116/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - tableView.moveRow 的自定义动画(在 : to:)