【发布时间】:2017-09-06 00:52:59
【问题描述】:
我目前正在我的应用中实现聊天。这是一个非常简单的表格视图,显示作为消息的行。我很难弄清楚如何对不同的键盘做出反应。
目前我在显示键盘时计算键盘的高度并将其添加为偏移量。我之前发布过关于这个主题的问题,人们倾向于告诉我我应该使用插图,但我无法让它发挥作用。
我希望 tableview 的内容像在 iMessage 或 Whatsapp 中一样移动,其中消息通过键盘向上移动并返回。它确实适用于标准键盘,但一旦你切换到表情符号,它就会变得一团糟。
我需要帮助来找到解决方案,或者向我展示在表格视图中处理键盘的正确方法。
为了安全起见,我创建了一个虚拟项目来保存我当前的聊天状态。我希望有人之前已经实现了这一点并且可以帮助我,因为我现在迫切希望找到解决方案。 https://www.dropbox.com/s/bldknydjfrwknr9/chatOffset.zip?dl=0
也许偏移的方式是错误的,有人可以告诉我一个更好的解决方案吗?
【问题讨论】:
-
通常 tableview 不是创建聊天视图时的最佳方式。为了不花费大量时间来尝试找出键盘行为,我建议使用 JSQMessagesViewController 之类的库。很容易实现,既有Objective-C也有Swift实现,看起来像iMessages,也可以改。
-
但它不支持 Swift 3 这就是问题所在。如果不是 tableview,应该如何构建 chatview?
-
它是用 Objective-C 制作的,是的,但它确实支持 swift 3 look at this example in swift。我目前正在使用 2 应用程序和 swift 3。关于您的其他问题,我遇到的大多数实现都是 UICollectionView 实现,即使是上面的示例,实际上也是 CollectionView 实现
标签: ios swift uitableview keyboard chat