菜鸟教程小白 发表于 2022-12-11 22:15:40

iOS swift 4.2 如何拒绝或禁止放入 UICollectionView


                                            <p><p>我正在尝试在我的应用程序中启用拖放作为触发功能的机制。我有一个显示用户列表的 TableView,我有一个可以显示 3 种不同类型数据的 collectionView - 但一次只能显示一种类型。</p>

<p>我希望 collectionView 在显示 Type1 数据和 Type3 数据时接受来自 tableView 的“drop”,但不接受 Type2 数据。现在,我的拖放功能正在运行 - 但它适用于所有 3 种数据类型,我不希望它适用于 Type2 数据。</p>

<p>所以目前,如果它正在显示 Type2 数据,我触发的操作只是忽略丢弃的数据 - 但我想阻止 CollectionView 甚至接受它(如果可能的话)。我不希望用户看到可能掉落的视觉指示。</p>

<p>我怀疑我应该为此使用 dropProposal - 但在阅读了 Apple 文档并使用 Google 和 YouTube 搜索了多个小时的示例之后 - 我完全不知所措。</p>

<p>我知道我应该在这里发布我的问题代码,但我什至想到<em>尝试</em>并控制它的唯一一件事就是操纵基于collectionView.dropDelegate关于我显示的数据类型。我相当有信心正确的解决方案会非常不同 - 但这是我尝试过的:</p>

<pre><code>if collectionMode != &#34;Type2&#34; {
collectionView.dropDelegate = self
} else {
collectionView.dropDelegate = nil
}
</code></pre>

<p>如果你能帮我指出答案,请这样做。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>试试这个,</p>

<pre><code>func collectionView(_ collectionView: UICollectionView,
      dragSessionWillBegin session: UIDragSession){

   guard if collectionMode == &#34;Mode2&#34; else { return }
   :
   :
   // Do stuff

}
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于iOS swift 4.2 如何拒绝或禁止放入 UICollectionView,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/54799335/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/54799335/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iOS swift 4.2 如何拒绝或禁止放入 UICollectionView