3 聊天界面点击return发送问题?

lastReturn数据只会在下一次进入聊天界面的时候才会向上移动??

方法① : 代码是用contentSize的方式写的 , 就出现了上面的👆情况 ;
方法② : 使用scrollToRow:

点击return之后,数据就会刷新, 数组就会多加一个数据 , 通过判断 (最新数据的个数 -1 ) 就是scrollVIew要跳转的行数

执行跳转:

 滚动到最新消息位置

    func scrollToBottom(_ scrollView:UIScrollView,animated:Bool) {
        
        //FIXME: 之前用到contentSize 和 bounds 的高度差来移动,最新的数据总是会在下一次才上移
        if self.chatMsgs.count == 0 {
            return
        }
        let lastIndexPath =  IndexPath(row: self.chatMsgs.count - 1, section: 0)

        self.tableView?.scrollToRow(at: lastIndexPath, at: UITableViewScrollPosition.bottom, animated: true)
        
        }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容