GithubHelp home page GithubHelp logo

zhchat's Introduction

##ZHChat ZHChat is a free open source chat UI components, support for sending voice, pictures, words, expressions, location, video messages. ZHChat can help developers to quickly integrate IM service, easy chat, provides totally free licensing agreement, support for secondary development. Welcome to pull Request.

Screenshot0    Screenshot1   

Screenshot2    Gif

##Features

  • Interface to imitate Apple with a messaging application interface.
  • Contains text, pictures, voice, location, sends a video message features.
  • Excludes chat interface is based on a UITableView, easier to understand the entire UI framework。

Design Goals

Easy integrated chat feature.

Requirements

  • iOS 7.1+
  • ARC

Usage

CocoaPods (recommended)

pod 'ZHChat', '~> 0.1.6'

Copy the folder ZHCMessagesViewController to your project

Getting Started

Getting started guide for ZHChat

#import <ZHChat/ZHCMessages.h> // import all the things
  • ** Demo Project**

    • There's a sweet demo project: 'ZHChat.xcworkspace'
      • Run 'pod install' first
  • Customizing

    • The demo project is well-commented. Please use this as a guide.

    • View Controller

    • Subclass ZHCMessagesViewController.

    • Implement the required methods in the ZHCMessagesTableViewDataSource protocol.

    • Implement the required methods in the ZHCMessagesTableViewDelegate protocol.

    • Implement the required methods in the ZHCMessagesMoreViewDelegate protocol.

    • Implement the required methods in the ZHCMessagesMoreViewDataSource protocol.

    • Implement the required methods in the ZHCEmojiViewDelegate protocol.

    • Implement the required methods in the ZHCMessagesInputToolbarDelegate protocol.

    • Set your senderId and senderDisplayName. These properties correspond to the methods found in ZHCMessageData and determine which messages are incoming or outgoing.

  • Avatar Model

    • Your avatar model objects should conform to the ZHCMessageBubbleImageDataSource protocol.
    • However, you may use the provided ZHCMessagesAvatarImage class.
    • Also see ZHCMessagesAvatarImageFactory for easily generating custom avatars.
  • Message Bubble Model

    • Your message bubble model objects should conform to the ZHCMessageAvatarImageDataSource protocol.
    • However, you may use the provided ZHCMessagesAvatarImage class.
    • Also see ZHCMessagesBubbleImageFactory and UIImage+ZHCMessages for easily generating custom bubbles.
  • Message Model

    • Your message model objects should conform to the ZHCMessageData protocol.
    • However, you may use the provided ZHCMessage class.
  • Media Attachment Model

    • Your media attachment model objects should conform to the ZHCMessageMediaData protocol.
    • However, you may use the provided classes: ZHCAudioMediaItem, ZHCLocationMediaItem, ZHCPhotoMediaItem.
    • Creating your own custom media items is easy! Simply follow the pattern used by the built-in media types.
    • Also see ZHCMessagesMediaPlaceholderView for masking your custom media views as message bubbles.
  • More Module

    • You can see ZHCMessagesMoreView .
    • Implement the required methods in the ZHCMessagesMoreViewDelegate protocol.
    • Implement the required methods in the ZHCMessagesMoreViewDataSource protocol.
  • Audio Module

    • You can see ZHCMessagesVoiceRecorder,ZHCMessagesAudioProgressHUD .
    • ZHCMessagesAudioProgressHUD is a recording voice animation view.
    • ZHCMessagesVoiceRecorder is recorder. It implement the required methods in the ZHCMessagesVoiceDelegate protocol.
  • Emoji Module

    • You can see ZHCMessagesEmojiView .
    • Implement the required methods in the ZHCEmojiViewDelegate protocol.
    • The emoji resource in ZHCEmojiList.plist.

To Do

  • Increased adaptation work rotation and horizontal screen adaptation function。

Thanks

Thaks Jesse Squires Structures and resources drawn on JSQMessagesViewController.

License

This code is distributed under the terms and conditions of the MIT license.

zhchat's People

Contributors

zhuozhuo avatar

Stargazers

Darren avatar

Watchers

James Cloos avatar Darren avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.