Для обмена сообщениями в моем приложении у меня есть представление коллекции для отображения сообщений.Когда клавиатура показывает, я изменяю содержимое и прокручиваю нижние вставки, чтобы они были над клавиатурой.Когда я отклоняю клавиатуру, и вставки возвращаются в исходное положение, текстовые пузыри, которые являются сообщениями, появляются очень искаженным образом
Это мой код в функции setCollectionViewInstets ()
messagesCollectionView.scrollIndicatorInsets = UIEdgeInsets(top: 0 , left: 0, bottom: insetFromBottom, right: 0)//setting scroll indicator b4 content inset is much less glitchy
messagesCollectionView.contentInset = UIEdgeInsets(top: 0, left: 0, bottom: insetFromBottom, right: 0)
messagesCollectionView.layoutIfNeeded()
В функции селектора уведомлений клавиатуры у меня есть эта функция:
if isKeyboardShowing{
print("keyboard showing")
textViewBottomConstraint.constant = keyboardHeight + initialGapBetweenBottomOfScreenAndTextView!
setCollectionViewInsets(insetFromBottom: keyboardHeight)
scrollToBottomOfCollectionView(animated: true)
}else{
print("keyboard hiding")
textViewBottomConstraint.constant = initialGapBetweenBottomOfScreenAndTextView!
setCollectionViewInsets(insetFromBottom: 0)
}
view.layoutIfNeeded()
Я ожидаю, что пузыри чата будут плавно прокручиваться обратно. Из-за анимации клавиатуры вставки изменяются с той же анимацией, что иклавиатура.Может быть, поэтому, и есть ли способ обойти это?