Как сделать недействительным макет uicollectionview в пределах uicollectionviewcell родительского uicollectionview? - PullRequest
0 голосов
/ 11 июля 2019

Вот макет У меня есть.

У меня есть UICollectionView, в который встроены UICollectionViews в его ячейках.На iPad, когда я поворачиваю экран, я могу сделать недействительным макет родительского UICollectionView, переопределив

func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator)

. Это прекрасно работает.Однако я не уверен, как перенаправить этот триггер на UICollectionViews внутри отдельных ячеек.

До сих пор я пытался сделать недействительным макет этих UICollectionViews до func layoutSubviews().Это не очень согласуется, так как некоторые ячейки все еще имеют старый макет.Однако это:

func willTransition(from oldLayout: UICollectionViewLayout, to newLayout: UICollectionViewLayout)

вообще не запускается для этого сценария.

Я также пробовал func shouldInvalidateLayout(forBoundsChange newBounds: CGRect) -> Bool в макете потока для встроенных UICollectionViews.

Я не использую саморазмерные ячейки, т. Е. Я предоставляю размер ячеек через

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize

Какой самый простой способ решить эту проблему, чтобы получить согласованные результаты?

Цените любые указания в этом отношении.

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