Пик и всплывающее окно с проблемой просмотра углового радиуса
У меня есть представление коллекции, основанное на пользовательских ячейках. Клетки также имеют угловой радиус.
Поэтому, когда я пытаюсь выделить их и извлечь из них, 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
Это работает, углы обрезаются идеально, но я не могу определить, какая ячейка была подсмотрена и задана, потому что каждый индекс пути одинаков для каждой ячейки в этом решении.
Обновление: я также попытался соединить ячейки через раскадровку, но углы все еще не обрезаны как закругленные углы.