在集合视图控制器中,我将集合视图转换为上下颠倒,以便通过将集合视图和单元格转换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)
}
}