Как изменить фон перетаскиваемой ячейки с помощью iOS11 + drag-n-drop? - PullRequest
0 голосов
/ 25 сентября 2018

Я пытаюсь реализовать новые методы drag-n-drop в UICollectionView и не могу понять, как удалить фон из перетаскиваемой ячейки.

Вот скриншот проблемы:

enter image description here

Вот код, который я пробую:

func collectionView(_ collectionView: UICollectionView, dragPreviewParametersForItemAt indexPath: IndexPath) -> UIDragPreviewParameters? {
    let parameters = UIDragPreviewParameters()
    parameters.backgroundColor = .clear
    return parameters
}

Проблема в том, что это на самом деле не работает.Фон все еще виден.Я думаю об использовании visiblePath: UIBezierPath, но я не думаю, что это будет хорошо играть с текстом.

Есть ли способ просто полностью удалить этот фон?

1 Ответ

0 голосов
/ 15 февраля 2019

Я не уверен, что есть способ сделать это без использования 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
}

enter image description here

Затем метод делегата:

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
}

И результат:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...