• 1000 * Пользовательское представление для UICollectionViewCell Перетаскивание предварительного просмотра :
public func collectionView(_ collectionView: UICollectionView, itemsForBeginning session: UIDragSession, at indexPath: IndexPath) -> [UIDragItem] {
let dragItem = UIDragItem(itemProvider: NSItemProvider())
dragItem.previewProvider = {
return nil
}
}
, но предварительный просмотр перетаскивания все еще отображается, когда он поднимается, и единственный метод, который позволяет мне изменять предварительный просмотр перетаскивания во время подъема, -
public func collectionView(_ collectionView: UICollectionView, dragPreviewParametersForItemAt indexPath: IndexPath) -> UIDragPreviewParameters? {
let previewParameters = UIDragPreviewParameters()
previewParameters.visiblePath = UIBezierPath(roundedRect: CGRect(x: 0, y: 0, width: 50, height: 50), cornerRadius: 0)
previewParameters.backgroundColor = UIColor.clear
return previewParameters
}
, но это позволяет мне только установить цвет фона, чтобы не скрывать предварительный просмотр перетаскивания
, а второй способ, который я пробовал, - это проверка состояния ячейки
public override func dragStateDidChange(_ dragState: UICollectionViewCell.DragState) {
switch dragState {
case .none:
self.layer.opacity = 1
case .lifting:
self.layer.opacity = 0
case .dragging:
self.layer.opacity = 1
}
}
, но это тоже не работает
кто-нибудь из вас знает, как это скрыть? или, по крайней мере, скрыть границу, и тень также может решить эту проблему
вот поднятая ячейка