Dem*_*ese 8 ios uicollectionview swift
我正在尝试在 UICollectionView 中实现新的拖放方法,但无法弄清楚如何从被拖动的单元格中删除背景。
这是问题的屏幕截图:
这是我正在尝试的代码:
func collectionView(_ collectionView: UICollectionView, dragPreviewParametersForItemAt indexPath: IndexPath) -> UIDragPreviewParameters? {
let parameters = UIDragPreviewParameters()
parameters.backgroundColor = .clear
return parameters
}
Run Code Online (Sandbox Code Playgroud)
问题是,它真的不起作用。背景仍然可见。我正在考虑使用visiblePath: UIBezierPath,但我认为它不会很好地处理文本。
有没有办法完全删除这个背景?
Rob*_*Rob 11
我不确定有没有办法在不使用UIBezierPath.
这是我为类似的事情所做的一个例子:
final class CustomCell: UITableViewCell {
@IBOutlet weak var mySuperLabel: UILabel!
@IBOutlet weak var whiteSubview: UIView! // I have added a cornerRadius of 12.0 in the XIB
}
Run Code Online (Sandbox Code Playgroud)
然后,委托方法:
func tableView(_ tableView: UITableView, dragPreviewParametersForRowAt indexPath: IndexPath) -> UIDragPreviewParameters? {
let cell = tableView.cellForRow(at: indexPath) as! CustomCell
let previewParameters = UIDragPreviewParameters()
let path = UIBezierPath(roundedRect: cell.whiteSubview.frame, cornerRadius: 12.0)
previewParameters.visiblePath = path
previewParameters.backgroundColor = .clear
return previewParameters
}
Run Code Online (Sandbox Code Playgroud)
结果: