NoChatMM 0.2.1

NoChatMM 0.2.1

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最新发布2016年6月
SPM支持 SPM

杜英伦 维护。



NoChatMM 0.2.1

  • 作者
  • 杜英伦

NoChat

NoChat 是一个基于 Chatto 的轻量级聊天框架。
除了 NoChat 之外,还有三个配套框架:NoChatTG、NoChatMM、NoChatSLK。
这些配套框架只是不同的用户界面,您可以使用 NoChat 自定义自己的界面 :].

     

特性

  • 在后台计算集合视图变化和布局
  • 支持双向分页和自动加载
  • 支持多消息的快速分页和旋转,进行消息计数竞争
  • 支持自定义消息气泡和工具栏
  • 反转模式

要求

  • iOS 8.0+
  • Xcode 7.3 或更高版本

安装

使用

导入您想使用的框架

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。源代码是思想,而不仅仅是代码,我认为。

架构

聊天 UI 的架构看起来像这样:Mind

更多信息

请查看内部示例项目。

关于名称

为什么叫 NoChat?因为老板让我们写很多带聊天界面的应用,真的很不想再写聊天界面了😢

许可证

源代码在 MIT 许可证下分发。