UICollectionViewFlowLayout привязывает ячейку к месту с помощью UIKitDynamics

Я подкласс UICollectionViewFlowLayout и у меня есть в prepareForLayout добавил поведение вложения между каждой из моих ячеек, без каких-либо изменений в UIAttachmentBehavior так что это просто жесткая привязанность. Мой план состоял в том, чтобы, когда первая ячейка была нажата, чтобы добавить UISnapBehavior к первой ячейке и привязайте ее к вершине, и просто сделайте так, чтобы все остальные ячейки следовали этой, поскольку все они связаны друг с другом, однако, как только я пытаюсь сделать это, я получаю известное UIKit Dynamics сообщение в консоли, когда он не знает, что делать с обоими поведениями.

Если я сначала удаляю поведение вложения между первой и второй ячейкой, а затем добавляю поведение привязки, первые ячейки привязываются к вершине, как и ожидалось, но, конечно, ни одна из других ячеек не следует, поскольку вложения больше не существует. Мне кажется, что это должно быть возможно, но я могу просто думать об этом неправильно, как я могу решить это с UIKit Dynamics?. Я знаю, что я мог бы решить эту проблему, просто переместив смещение содержимого collectionView в анимацию UIView с эффектом весны, но я хочу иметь больший контроль над анимацией.

Мне нужно поведение, очень похожее на приложение Google Now в App Store, где вы нажимаете на первую карту, и она привязывается к верхней части, а все остальные ячейки следуют. Я понимаю, что это могло сдвинуть смещение контента, но я чувствую, что это было бы лучше, если бы UIKit DynamicsОднако я не знаю, как добиться такого поведения.

Я не работал с UIKitDynamics и макет потока представления коллекции раньше, так что я мог бы упустить что-то очевидное здесь.

0 ответов

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