UI библиотека сообщений для iOS

https://github.com/zhuozhuo/ZHChat

ZHChat — open source UI компоненты для чата, поддерживающие отправку голосовых сообщений, изображений, текста, смайликов, данных о местоположении, видеосообщений. ZHChat может помочь разработчикам быстро интегрировать IM сервис, простой чат, предоставляет полностью бесплатное/свободное лицензионное соглашение, поддерживает «вторичную» разработку. Welcome to pull Request.

Особенности

  • Имитирует интерфейс приложения для отправки сообщений Apple.
  • Поддерживает отправку текста, изображений, голосовых сообщений, данных о местоположении, видеосообщений.
  • Не включает в себя интерфейс чата, сделанный на основе UITableView.

Цели дизайна

Простой способ интегрировать функционал чата

Требования

iOS 7.1+

ARC

Использование

CocoaPods (рекомендуется)

pod ‘ZHChat’, ‘~> 0.1.6’

Скопировать в проект папку ZHCMessagesViewController

Начало работы

Начало работы с ZHChat

#import <ZHChat/ZHCMessages.h> // включает все исходники

**Демо-проект**

Демо-проект: ‘ZHChat.xcworkspace’

Сначала запустите ‘pod install’

Настройка

Демо-проект хорошо задокументирован. Пожалуйста используйте это в качестве руководства.

View Controller

Создайте наследника класса ZHCMessagesViewController.

Реализуйте нужные методы протокола ZHCMessagesTableViewDataSource.

Реализуйте нужные методы протокола ZHCMessagesTableViewDelegate.

Реализуйте нужные методы протокола ZHCMessagesMoreViewDelegate.

Реализуйте нужные методы протокола ZHCMessagesMoreViewDataSource.

Реализуйте нужные методы протокола ZHCEmojiViewDelegate.

Реализуйте нужные методы протокола ZHCMessagesInputToolbarDelegate.

Задайте senderId и senderDisplayName. Эти свойства соответствуют методам из ZHCMessageData и определяют, какие сообщения входящие, а какие — исходящие.

Модель аватара

Ваша модель аватара должна реализовывать протокол ZHCMessageBubbleImageDataSource.

Как бы то ни было, вы можете использовать предоставленный класс ZHCMessagesAvatarImage.

Также см. ZHCMessagesAvatarImageFactory — для простого создания кастомных аватаров.

Модель пузырьков сообщений

Ваша модель пузырьков сообщений должна реализовывать протокол ZHCMessageAvatarImageDataSource.

Как бы то ни было, вы можете использовать предоставленный класс ZHCMessagesAvatarImage.

Также см. ZHCMessagesBubbleImageFactory и UIImage+ZHCMessages для простого создания кастомных пузырьков.

Модель сообщений

Ваша модель сообщений должна реализовывать протокол ZHCMessageData.

Как бы то ни было, вы можете использовать предоставленный класс ZHCMessage.

Модель медиавложений

Ваша модель медиавложений должна реализовывать протокол ZHCMessageMediaData.

Как бы то ни было, вы можете использовать готовые классы: ZHCAudioMediaItem, ZHCLocationMediaItem, ZHCPhotoMediaItem.

Создавать свои медиа items просто! Для этого следуйте шаблону, который используют встроенные типы медиа.

Также обратите внимание на ZHCMessagesMediaPlaceholderView для маскировки ваших медиа views пузырьками сообщений.

Больше модулей

См. ZHCMessagesMoreView.

Реализуйте требуемые методы протокола ZHCMessagesMoreViewDelegate.

Реализуйте требуемые методы протокола ZHCMessagesMoreViewDataSource.

Аудио модуль

См. ZHCMessagesVoiceRecorder, ZHCMessagesAudioProgressHUD.

ZHCMessagesAudioProgressHUD — view для анимации записи голоса.

ZHCMessagesVoiceRecorder — «диктофон». Он реализует методы, требуемые протоколом ZHCMessagesVoiceDelegate.

Модуль Emoji

См. ZHCMessagesEmojiView.

Реализуйте требуемые методы протокола ZHCEmojiViewDelegate.

Ресурсы emoji — в ZHCEmojiList.plist.

TODO:

Улучшить адаптацию к повороту и landscape режиму.

Спасибо

Спасибо Jesse Squires Structures и ресурсам по JSQMessagesViewController.

Лицензия

Данный код распространяется под лицензией MIT.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *