awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
MessageKit avatar

MessageKit/MessageKit

0
View on GitHub↗
6,266 星标·1,198 分支·Swift·MIT·1 次浏览messagekit.github.io↗

MessageKit

MessageKit is an iOS chat UI framework that provides a scrollable conversation interface built on UICollectionView, enabling developers to render text, images, videos, locations, emoji, audio, and contact messages within message bubbles. The framework is designed around a pre-built MessagesViewController that can be subclassed to inherit the full chat layout, input bar, and message display without writing UI from scratch, and it uses a data source protocol for message retrieval along with delegate callbacks for user interactions.

The framework distinguishes itself through a highly customizable message cell system that divides each cell into seven configurable parts for fine-grained control over labels, avatars, and accessory views, alongside a customizable input bar with left and right button stacks that bind custom behaviors to touch, text change, and keyboard events. It supports embedding custom chat cells, hiding avatars per message, and automatically sizing custom cells, while also offering a SwiftUI embedding component for integrating the chat interface into modern iOS applications.

Additional capabilities include rendering media messages with dedicated bubble layouts, reacting to input bar events and send button presses, and attaching actions to toolbar buttons. The framework is distributed under the MIT license and can be embedded as a git submodule with Carthage support for dependency management.

Features

  • iOS Chat UI Frameworks - Provides a scrollable conversation interface for rendering text, images, videos, and other message types in iOS apps.
  • Chat Interface Components - Provides a pre-built scrollable conversation view that manages message layout and cell rendering from model objects.
  • Data Source Protocols - Defines a data source protocol for supplying message objects and handling cell selection.
  • Message Composition Inputs - Provides a text input bar with a send button that triggers a delegate callback when the user submits a message.
  • Message - Retrieves and manages message data through a data source protocol with delegate callbacks.
  • Pre-built View Controllers - Provides a pre-built view controller that developers subclass to inherit chat layout and message display.
  • Photo Message Renderers - Displays photo images within a conversation bubble using a media item.
  • Text Message Renderers - Displays plain text messages in a conversation bubble using a configurable font.
  • Chat Input Composers - Ships a customizable input accessory view with a text field and button stacks for message composition.
  • Chat Message List Renderers - Renders a scrollable conversation interface that displays message bubbles for text, images, videos, and other media types.
  • Bubble Layout Systems - Displays text, images, videos, locations, emoji, audio, and contact messages with dedicated bubble layouts.
  • Dynamic Bubble Layouts - Adjusts the size, appearance, and padding of each label and container within a message cell.
  • Custom Message Cells - Ships a custom cell registration system for rendering arbitrary message types in a chat list.
  • Collection View Layouts - Renders chat messages as cells in a collection view for flexible scrolling and animations.
  • Seven-Part Cell Layouts - Divides each message cell into seven configurable parts for fine-grained layout control of labels, avatars, and accessory views.
  • Callback Delegates - Uses delegate callbacks to notify the host about cell taps and send button presses.
  • Multi-Type Message Renderers - Automatically selects the correct cell for text, photo, video, location, emoji, audio, contact, or link preview content.
  • Attributed Text Renderers - Renders text messages with custom attributes like colors and fonts in conversation bubbles.
  • Bubble Text Renderers - Displays text messages with custom attributes like colors and fonts in a conversation bubble.
  • Bubble Text Renderers - Renders plain and attributed text messages inside customizable chat bubbles.
  • Contact Message Renderers - Displays contact information within a conversation bubble using a contact item.
  • Audio Message Renderers - Displays audio messages with playback controls within the conversation interface.
  • Video Message Renderers - Displays video content within a conversation bubble using a media item.
  • Embedding Components - Embeds a chat interface inside a SwiftUI view hierarchy for interactive messaging in modern iOS apps.
  • Location Message Renderers - Displays a location map or coordinates within a conversation bubble using a location item.
  • Avatar Visibility Controls - Shows or hides avatar views per message and optionally removes the space they occupy in the cell layout.
  • Input Bar - Places custom buttons on either side of the text view and hooks their behavior to touch, text changes, or keyboard events.
  • Input Bar Action Attachments - Attaches custom closures to button taps, text changes, and keyboard events on the input bar.
  • Emoji Message Renderers - Provides dedicated rendering for emoji-only messages with configurable font sizing.
  • Input Bar Event Handlers - Triggers custom actions on button taps, text changes, keyboard events, and selection state changes.
  • Message Delegate Callbacks - Uses the collection view's index path and data source to access the underlying message model from a cell delegate callback.
  • SwiftUI Chat Embeddings - Provides a SwiftUI component for embedding the chat interface into modern iOS applications.
  • Button Stack Configurations - Provides a text input bar with configurable left and right button stacks for custom toolbar actions.
  • Input Bar Layout Customizers - Adjusts padding and stack widths to control the arrangement of the text view and button groups.
  • Stack Width Adjustments - Adjusts padding and width of button stacks so the text input area fills the available space.
  • Location Message Renderers - Renders location previews with map pins inside chat message bubbles.
  • Message Display Modifications - Adjusts the visual appearance of message bubbles through a display delegate protocol.
  • Photo Message Renderers - Renders photo attachments inside chat message bubbles.
  • Video Message Renderers - Renders video attachments inside chat message bubbles.
  • Custom Cell Size Calculators - Calculates the dimensions of a custom message cell by subclassing a size calculator.
  • Delegate-Based Configurations - Adjusts the visual layout and display attributes of messages through delegate protocols with default implementations.
  • Link Preview Services - Displays a rich preview of a URL with title, description, and image inside a chat bubble.
  • Messaging Components - Community-driven replacement for standard message controllers.
  • Chat Interfaces - Community-driven replacement for messaging interfaces.
  • Messaging UI - Swift-based messaging UI library.

Star 历史

messagekit/messagekit 的 Star 历史图表messagekit/messagekit 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

常见问题解答

messagekit/messagekit 是做什么的?

MessageKit is an iOS chat UI framework that provides a scrollable conversation interface built on UICollectionView, enabling developers to render text, images, videos, locations, emoji, audio, and contact messages within message bubbles. The framework is designed around a pre-built MessagesViewController that can be subclassed to inherit the full chat layout, input bar, and message display without writing UI from scratch, and it uses a data source protocol for message…

messagekit/messagekit 的主要功能有哪些?

messagekit/messagekit 的主要功能包括:iOS Chat UI Frameworks, Chat Interface Components, Data Source Protocols, Message Composition Inputs, Message, Pre-built View Controllers, Photo Message Renderers, Text Message Renderers。

messagekit/messagekit 有哪些开源替代品?

messagekit/messagekit 的开源替代品包括: jessesquires/jsqmessagesviewcontroller — JSQMessagesViewController is a UIKit-based conversational UI framework and library for iOS. It provides a set of… badoo/chatto — Chatto is a Swift-based UI framework and component library for building messaging interfaces on iOS. It provides a… chatscope/chat-ui-kit-react — This project is a collection of pre-styled React components designed for building responsive messaging interfaces and… stfalcon-studio/chatkit — ChatKit is a library of reusable native Android components and frameworks designed for rendering chat visuals, message… kirillzyusko/react-native-keyboard-controller — This is a keyboard interaction library and manager for React Native that provides smooth animations, gesture-based… ibelick/prompt-kit — Prompt-kit is a React-based toolkit and component library specialized for building conversational interfaces for large…

MessageKit 的开源替代方案

相似的开源项目,按与 MessageKit 的功能重合度排序。
  • jessesquires/jsqmessagesviewcontrollerJ

    jessesquires/JSQMessagesViewController

    11,080在 GitHub 上查看↗

    JSQMessagesViewController is a UIKit-based conversational UI framework and library for iOS. It provides a set of components for rendering interactive message streams, multimedia chat histories, and customizable input controllers within mobile applications. The framework features a layout engine that calculates dynamic bubble dimensions and handles orientation-aware rendering. It includes a resizing text input area with a customizable toolbar for sending and formatting messages, as well as support for group conversations with multiple participants. The library covers message rendering through

    Objective-C
    在 GitHub 上查看↗11,080
  • badoo/chattobadoo 的头像

    badoo/Chatto

    4,505在 GitHub 上查看↗

    Chatto is a Swift-based UI framework and component library for building messaging interfaces on iOS. It provides a collection of reusable interface components for rendering text bubbles, photo attachments, and interactive input areas. The framework centers on a paginated chat interface that loads conversation history in both directions. To maintain scrolling performance, it employs background layout calculations for message cells. The library covers the construction of modular messaging screens and the implementation of mobile chat interactions, such as keyboard dismissal and swipe-to-reveal

    Swift
    在 GitHub 上查看↗4,505
  • chatscope/chat-ui-kit-reactchatscope 的头像

    chatscope/chat-ui-kit-react

    1,755在 GitHub 上查看↗

    This project is a collection of pre-styled React components designed for building responsive messaging interfaces and real-time chat applications. It functions as a modular toolkit that allows developers to assemble custom chat windows, message feeds, and input fields within web applications using a component-based architecture. The library distinguishes itself by providing a centralized logic layer for managing conversation data, including user presence, message history, and typing indicators. It handles the complexities of message stream navigation, such as automatic scrolling and dynamic h

    JavaScriptchatcommentscommunication
    在 GitHub 上查看↗1,755
  • stfalcon-studio/chatkitstfalcon-studio 的头像

    stfalcon-studio/ChatKit

    3,724在 GitHub 上查看↗

    ChatKit is a library of reusable native Android components and frameworks designed for rendering chat visuals, message threads, and media pickers. It provides a set of pre-built UI elements to facilitate the development of messaging interfaces, including conversation lists and text input fields. The toolkit includes specialized media management capabilities, such as a full-screen image viewer with pinch-to-zoom and swipe-to-dismiss gestures, as well as mechanisms for importing photos and videos from device storage. It also features dynamic selection dialogs that adjust their layout based on t

    Javaandroidandroid-librarychat
    在 GitHub 上查看↗3,724
查看 MessageKit 的所有 30 个替代方案→