ChatMenu 1.0.4

ChatMenu 1.0.4

TestsTested
LangLanguage SwiftSwift
License MIT
ReleasedLast Release Aug 2017
SwiftSwift Version 3.0
SPMSupports SPM

Maintained by Tangent.


Downloads

Total8
Week8
Month8

Installs

Apps2
Apps WeekApps This Week 2
powered by Segment

GitHub

Stars4
Watchers3
Forks2
Issues0
Contributors1
Pull Requests0

Code

Files1
LOCLines of Code 523


ChatMenu 1.0.4

  • By
  • Tangent

ChatMenu

ChatMenu

ChatMenu

Requirements

  • iOS 9.0 or higher
  • Swift 3.0

Demo

Run the Sample project in Xcode to see ChatMenu in action.

Usage

ChatMenu is very simple to use, All you need just call a function:

/// Show a menu on a particular chat bubble view, with an action sheet
/// attached to it.
///
/// - Parameters:
///   - bubbleView: Chat bubble view.
///   - direction: The direction in which the bubble view is located.
///   - actions: Actions of the action sheet in menu.
///   - items: Items to show on the bubble view, such as emoji.
///   - dismissCallback: Called when menu will dismiss.
///   - completedDismissCallback: Called when menu did dismiss.
static func show(on bubbleView: UIView,
                     direction: Direction,
                     actions: [Action],
                     items: [BubbleItem],
                     dismissCallback: (() -> ())? = nil,
                     completedDismissCallback: (() -> ())? = nil)

Example usage

// Items
let emojis = "😀👍👎❤️🎉".characters.map { String($0) }
let items = emojis.map { emoji in
    ChatMenu.BubbleItem(title: emoji, image: nil, action: { 
        print("did Selected" + emoji)
    })
}

// Actions
let cameraAction = ChatMenu.Action(title: "Camera", tintColor: .green) {
    print("Open Camera")
}
let albumAction = ChatMenu.Action(title: "Album", tintColor: .orange) {
    print("Open Album")
}
let cancelAction = ChatMenu.Action(style: .cancel, title: "Cancel", tintColor: .red) { 
    print("Cancel")
}
let actions = [cameraAction, albumAction, cancelAction]

// Show
ChatMenu.show(on: bubbleView,
              direction: .left,
              actions: actions,
              items: items,
              dismissCallback: { print("ChatMenu will dismiss") },
              completedDismissCallback: { print("ChatMenu did dismiss") })

License

The MIT License (MIT)