UITableView - 如何在拖放期间更改单元格的背景颜色?
Posted
技术标签:
【中文标题】UITableView - 如何在拖放期间更改单元格的背景颜色?【英文标题】:UITableView - How to change the background color of cell during drag drop? 【发布时间】:2018-03-19 08:54:29 【问题描述】:我正在两个 UITableView 之间实现拖放。 当在 tableView 上拖动项目时,tableView 会自动显示将插入新单元格的空间。我想通过更改背景颜色来突出显示该空间。
目前,新单元格的空间显示为白色。如果我改变 UITableView 的背景颜色,那么空间会反映相应的背景颜色。但是,我不想更改 tableView 的背景颜色。
有人可以帮助我如何实现它吗?
这是我正在寻找的功能的屏幕截图。
谢谢, 费利克斯.J
【问题讨论】:
添加你已经尝试过的代码。 我在 UICollectionView 中实现了拖放。我认为 API 目前不支持您正在寻找的功能。 @PGDev 我的代码无助于解决问题,甚至无法回答。我已经使用以下链接中的参考对拖放进行了编码。 developer.apple.com/documentation/uikit/drag_and_drop/…。我正在寻找的功能可以在 Things 3 应用中看到。 请添加来自 Things 3 应用的截图。 嘿@FelixMarianayagam ...你解决了你的问题吗?我也想知道......(你可能也解决了那个问题......)当拿起单元格时,我希望它的背景不可见,但快照总是显示半透明的白色背景。有什么想法吗? 【参考方案1】:根据您是尝试设置单元格未来位置的背景还是单元格本身,您可以通过调用dragPreviewParametersForRowAt
函数来更改背景并向拖动单元格添加效果。例如:
func tableView(_ tableView: UITableView, dragPreviewParametersForRowAt indexPath: IndexPath) -> UIDragPreviewParameters?
let param = UIDragPreviewParameters()
param.backgroundColor = .clear
return param
在表格视图中拖动单元格时将删除默认的白色背景。
【讨论】:
这不会解决它。查看我发布的图片,注意空间如何以灰色(圆形矩形)突出显示。以上是关于UITableView - 如何在拖放期间更改单元格的背景颜色?的主要内容,如果未能解决你的问题,请参考以下文章