В моем контроллере представления коллекции я трансформировал мой вид коллекции в перевернутый, чтобы он загружался снизу вверх путем преобразования вида коллекции и ячеек на 180 градусов.
collectionView?.transform = CGAffineTransform.init(rotationAngle: (-(CGFloat)(Double.pi)))
cell.transform = CGAffineTransform(rotationAngle: CGFloat.pi)
Теперь у меня есть гигантское пространство в верхней части перевернутого представления коллекции (или технически в нижней части представления сбора), и я могу исправить это только, установив в нижних вставках содержимого представления представления коллекции значение -592. Проблема в том, что когда я хочу, чтобы представление коллекции прокручивалось до определенного пути индекса, оно прокручивает фиксированную высоту выше заданного мной пути индекса, вероятно, из-за нежелательного пространства в верхней части представления коллекции. В результате клавиатура покрывает самое последнее отправленное сообщение, которое находится в позиции 0.
Эта проблема возникает, только когда я преобразую представление коллекции на 180, а не в ячейку. Приведенный ниже код используется для прокрутки клавиатуры до самого нижнего сообщения, и я тоже попробовал .bottom, который не сработал.
@objc func handleKeyboardDidShow() {
if messages.count > 0 {
let indexPath = IndexPath(item: 0, section: 0)
collectionView?.scrollToItem(at: indexPath, at: .top, animated: true)
}
}