NoChat 是一个基于 Chatto 的轻量级聊天框架。
除了 NoChat 之外,还有三个配套框架:NoChatTG、NoChatMM、NoChatSLK。
这些配套框架只是不同的用户界面,您可以使用 NoChat 自定义自己的界面 :].
导入您想使用的框架
import NoChat
您可以创建 ChatViewController
的子类,并提供数据。
class TGChatViewController: ChatViewController {
// ...
override func viewDidLoad() {
inverted = true
super.viewDidLoad()
}
// Setup chat items
override func createPresenterBuilders() -> [ChatItemType: [ChatItemPresenterBuilderProtocol]] {
return [
DateItem.itemType : [
DateItemPresenterBuider()
],
MessageType.Text.rawValue : [
MessagePresenterBuilder<TextBubbleView, TGTextMessageViewModelBuilder>(
viewModelBuilder: TGTextMessageViewModelBuilder(),
layoutCache: messageLayoutCache
)
]
]
}
// Setup chat input views
override func createChatInputViewController() -> UIViewController {
let inputController = NoChatTG.ChatInputViewController()
// ...
return inputController
}
// ...
}
我还建议您使用 NoChat 提供的协议自定义聊天视图控制器。我的意思是您可以不使用 NoChat.ChatViewController
编写自己的 ChatViewController
。源代码是思想,而不仅仅是代码,我认为。
请查看内部示例项目。
为什么叫 NoChat
?因为老板让我们写很多带聊天界面的应用,真的很不想再写聊天界面了
源代码在 MIT 许可证下分发。