UICollectionViewFlowLayout привязывает ячейку к месту с помощью UIKitDynamics
Я подкласс UICollectionViewFlowLayout
и у меня есть в prepareForLayout
добавил поведение вложения между каждой из моих ячеек, без каких-либо изменений в UIAttachmentBehavior
так что это просто жесткая привязанность. Мой план состоял в том, чтобы, когда первая ячейка была нажата, чтобы добавить UISnapBehavior
к первой ячейке и привязайте ее к вершине, и просто сделайте так, чтобы все остальные ячейки следовали этой, поскольку все они связаны друг с другом, однако, как только я пытаюсь сделать это, я получаю известное UIKit Dynamics
сообщение в консоли, когда он не знает, что делать с обоими поведениями.
Если я сначала удаляю поведение вложения между первой и второй ячейкой, а затем добавляю поведение привязки, первые ячейки привязываются к вершине, как и ожидалось, но, конечно, ни одна из других ячеек не следует, поскольку вложения больше не существует. Мне кажется, что это должно быть возможно, но я могу просто думать об этом неправильно, как я могу решить это с UIKit Dynamics
?. Я знаю, что я мог бы решить эту проблему, просто переместив смещение содержимого collectionView в анимацию UIView с эффектом весны, но я хочу иметь больший контроль над анимацией.
Мне нужно поведение, очень похожее на приложение Google Now в App Store, где вы нажимаете на первую карту, и она привязывается к верхней части, а все остальные ячейки следуют. Я понимаю, что это могло сдвинуть смещение контента, но я чувствую, что это было бы лучше, если бы UIKit Dynamics
Однако я не знаю, как добиться такого поведения.
Я не работал с UIKitDynamics
и макет потока представления коллекции раньше, так что я мог бы упустить что-то очевидное здесь.