ChatMenu 1.1.0

ChatMenu 1.1.0

TestsTested
LangLanguage SwiftSwift
License MIT
ReleasedLast Release Oct 2017
SwiftSwift Version 4.0
SPMSupports SPM

Maintained by Tangent.


Downloads

Total15
Week0
Month3

Installs

Apps3
powered by Segment

GitHub

Stars5
Watchers3
Forks2
Issues0
Contributors1
Pull Requests0

Code

Files1
LOCLines of Code 523


ChatMenu 1.1.0

  • By
  • Tangent



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)