构建聊天应用程序时应该使用 UITableView 还是 UICollectionView?

Should I use UITableView or UICollectionView when building a chat app?

我正在尝试构建一个类似于本机消息的聊天应用程序 app/Whatsapp。

设计与本机聊天气泡(矩形消息视图而不是气泡)略有不同,但我想基本原理是一样的。当然,消息应该像任何聊天应用程序一样从屏幕底部开始,底部应该有一个 "new message" 文本字段。

为此我应该使用 UITableView 还是 UICollectionView

谢谢!

我刚刚发布了一个聊天应用程序,并在构建架构时遇到了这个确切的问题。这不是热门话题。

我一开始犯了一个错误,选择了 UITableView 只是在中途才意识到 UICollectionView 的功能更强大。 (UICollectionView 如果您想以这种方式使用它,甚至还有一个 tableLayout)。

我在研究了 JSQMessagesViewControllerMMTextureChatMessageKit 等其他可用的聊天库后意识到了这一点

UITableView 很好,但很快您就会像我一样 运行 遇到性能和自定义问题。

至于从底部显示消息,诀窍是翻转视图。这样,当您调用 insert(atIndexPath:) 时,项目会显示在底部。

希望对您有所帮助。