Пик и всплывающее окно с проблемой просмотра углового радиуса

У меня есть представление коллекции, основанное на пользовательских ячейках. Клетки также имеют угловой радиус.

Поэтому, когда я пытаюсь выделить их и извлечь из них, Rect, который я помещаю в " previewingContext.sourceRect", всегда без закругленных углов.

Первая попытка:

Я зарегистрировал коллекцию с

registerForPreviewing(with: self, sourceView: self.collectionView)

Тогда я попробовал это для сования:

 guard let indexPath = collectionView?.indexPathForItem(at: location) else { return nil }
    guard let cell = collectionView?.cellForItem(at: indexPath) else { return nil }

// I also tried to use the next line and than get the frame of the cell Attributes but it didn't work...
//    let cellAttributes = collectionView.layoutAttributesForItem(at: indexPath)

    previewingContext.sourceRect = cell.frame

Вторая попытка:

Я пытался зарегистрировать каждую клетку, а затем взять границы клетки

func previewingContext(_ previewingContext: UIViewControllerPreviewing, viewControllerForLocation location: CGPoint) -> UIViewController? {
        let locationCell : CGPoint = self.collectionView.convert(location, from: self.view)
        guard let indexPath = self.collectionView?.indexPathForItem(at: locationCell) else {
            print(locationCell)
            print("Cell Not found")
            return nil
        }
       previewingContext.sourceRect = self.collectionView.cellForItem(at: indexPath)!.bounds

Это работает, углы обрезаются идеально, но я не могу определить, какая ячейка была подсмотрена и задана, потому что каждый индекс пути одинаков для каждой ячейки в этом решении.

Обновление: я также попытался соединить ячейки через раскадровку, но углы все еще не обрезаны как закругленные углы.

0 ответов

Другие вопросы по тегам