• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

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

[复制链接]
菜鸟教程小白 发表于 2022-12-11 22:15:40 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

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

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

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

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

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

if collectionMode != "Type2" {
  collectionView.dropDelegate = self
} else {
  collectionView.dropDelegate = nil
}

如果你能帮我指出答案,请这样做。



Best Answer-推荐答案


试试这个,

func collectionView(_ collectionView: UICollectionView, 
        dragSessionWillBegin session: UIDragSession){

     guard if collectionMode == "Mode2" else { return }
     :
     :
     // Do stuff

}

关于iOS swift 4.2 如何拒绝或禁止放入 UICollectionView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54799335/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap