forked from badoo/Chatto
-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Diego Sanchez edited this page Jul 4, 2016
·
3 revisions
Chatto is a Swift framework to ease the development of chat applications. At the UI level, it takes care of managing the UICollectionView where the messages are displayed and provides a placeholder for an input component.
- Manages UICollectionView, taking care of calculating changes and performing updates.
- Placeholder for an input component at the bottom of the screen.
- Provides support for interactive dismissal of the keyboard and adjusts the insets automatically when it appears.
- Provides a default layout for the UICollectionView.
- Calculates this layout in a background queue (partially if your sizing routines can be only executed in the main thread).
- Triggers notifications to the data source to retrieve more messages (pagination)
- Encourages clean code by decoupling your message's presentation into different presenters
- Decorator
- Diagram of classes (todo)
ChattoAdditions is a companion framework for Chatto
- BaseMessageCollectionViewCell: a base cell for chat messages, supporting a failed icon, an avatar, and a revealing timestamp. It is a generic container for the actual message (ViewT).
- TextMessageCollectionViewCell: a concrete subclass for text messages, supporting link detection
- PhotoMessageCollectionViewCell: a concrete subclass for photo messages, supporting transferring progress indicator.
- ChatInputBar: an extensible input bar to send text, photos and custom types of messages.
- Setup BaseChatViewController as in ChattoApp
- Add a new type of message (from scratch)
- Add a new type of message (inheriting from BaseMessageCollectionViewCell)