Skip to content

💬 ChatViewController, ChatBar, ImagePicker like Slack Application. Message App written in Swift

License

Notifications You must be signed in to change notification settings

hoangtaiki/ChatViewController

Repository files navigation

Version License Platform Language Build Status Contributions Welcome

ChatViewController Tweet

ChatViewController is a library designed to simplify the development of UI for such a trivial task as chat. It has flexible possibilities for styling, customizing. It is also contains example for Facebook Messager and Instagram Chat.

Features

  • Growing Text View from UIPlaceholderTextView
  • Flexible UI built with Auto Layout
  • Inverted Mode for displaying cells upside-down (using CATransform)
  • Customizable: change chat bar view layout style
  • Tap gesture for dismissing the keyboard
  • Slack Image Picker
  • Typing Indicator display
  • Show/hide chat bar view
  • Pull to refresh and load more feature
  • Example: Facebook Bubble style
  • Example: Instagram Bubble style
  • Example: Text chat cell
  • Example: Image chat cell
  • Example: Link chat cell
  • Example: Document chat cell
  • Example: Image Viewer
  • Example: Document Viewer
  • Example: Custom Image Picker
  • Complete Documentation

Compatibility

  • CocoaPods, Carthage and Swift Package Manager
  • Swift 4.2 or later
  • iOS 10 or later
  • iPhone & iPad

Installation

CocoaPods

CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:

$ gem install cocoapods

To integrate ChatViewController into your Xcode project using CocoaPods, specify it in your Podfile:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '10.0'
use_frameworks!

target '<Your Target Name>' do
    pod 'ChatViewController'
end

Then, run the following command:

$ pod install

Carthage

Carthage is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.

You can install Carthage with Homebrew using the following command:

$ brew update
$ brew install carthage

To integrate ChatViewController into your Xcode project using Carthage, specify it in your Cartfile:

github "hoangtaiki/ChatViewController" ~> 1.2.0

Run carthage update to build the framework and drag the built ChatViewController.framework and PlaceholderUITextView.framework into your Xcode project.

Swift Package Manager

Install with Swift Package Manager by adding the following to your Package.swift:

dependencies: [
    .package(url: "https://github.com/hoangtaiki/ChatViewController", from: "1.2.0"),
],

Contributing

Please feel free to help out with this project! If you see something that could be made better or want a new feature, open up an issue or send a Pull Request!

License

ChatViewController is released under the MIT license. See LICENSE for details.