我正在开发一个聊天应用程序,它通过推送通知和 p2p 连接(而不是通过 SMS 或电子邮件)发送消息。
我想制作一个视图控制器,它在顶部有一些自定义视图,然后是它下面的消息线程。消息应该以类似于Messages
iPhone 应用程序的方式呈现。
是否可以重用 Apple 代码(是否有 ViewController / View 我可以使用?我可以以某种方式使用MFMessageComposeViewController
吗?)还是我应该重新发明轮子并自己实现?
There are several open-source solutions that re-create the messages interface rather accurately:
Of course, you could also create the interface yourself by using a UITableView to house custom cells that would draw the speech bubbles, and text inside them.
UICollectionViewController 可用于创建类似于 UI 的消息。
我最近发布了一个开源项目来解决这个确切的问题。Chat SDK在 Github 上的MIT 许可下可用。该库具有以下您可能会发现有用的功能:
BChatViewController.m
类似于消息应用程序的语音气泡消息视图。在这里,您还可以看到如何处理键盘显示和隐藏事件以在键盘顶部添加文本输入框的示例。
BMessageCell.m
这是主要的消息气泡类。这里有动态着色消息气泡 ( +(UIImage *) bubbleWithImage: withColor:
) 和添加语音气泡尾部的功能。
BMessageLayout.m
确定文本区域高度的有用实用函数。
BTextInputView.m
这是一个浮动在键盘上方的可调整大小的文本输入框。
用户界面非常模块化,这意味着您应该能够相对轻松地将其添加到您的应用程序中。
该库还支持开箱即用的Firebase,这意味着您无需构建自己的系统即可使用推送通知发送消息。