Изменение вставок представления содержимого в представлении коллекции портит пользовательский интерфейс - PullRequest
0 голосов
/ 24 декабря 2018

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

Это мой код в функции 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()

Я ожидаю, что пузыри чата будут плавно прокручиваться обратно. Из-за анимации клавиатуры вставки изменяются с той же анимацией, что иклавиатура.Может быть, поэтому, и есть ли способ обойти это?

...