CocoaPods trunk is moving to be read-only. Read more on the blog, there are 18 months to go.

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.



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)