Skip to content

Repository files navigation

ContextMenuSwift

Linkedin: umerjabbarTwitter: @Umer_JabbarLicenseXcode 10.0+iOS 10.0+Swift 4.0+Cocoapods

Installation 📱

Just add ContextMenuSwift to your Podfile and pod install. Done!

pod'ContextMenuSwift'

Usage ✨

Example 1

Show the menu of string values on your view

CM.items =["Item 1","Item 2","Item 3"]CM.showMenu(viewTargeted: YourView, delegate:self, animated:true)

Example 2

Update menu items async

CM.items =["Item 1","Item 2","Item 3"]CM.showMenu(viewTargeted: YourView, delegate:self, animated:true)DispatchQueue.main.asyncAfter(deadline:.now()+1.0){CM.items =["Item 1"]CM.updateView(animated:true)}

Example 3

Update targeted view async

CM.items =["Item 1","Item 2","Item 3"]CM.showMenu(viewTargeted: YourView, delegate:self, animated:true)DispatchQueue.main.asyncAfter(deadline:.now()+1.0){CM.changeViewTargeted(newView: YourView)CM.updateView(animated:true)}

Example 4

Change the horizontal direction of menu

CM.MenuConstants.horizontalDirection =.right
CM.items =["Item 1","Item 2","Item 3"]CM.showMenu(viewTargeted: YourView, delegate:self, animated:true)

Example 5

Show menu with icons

letshare=ContextMenuItemWithImage(title:"Share", image: #imageLiteral(resourceName:"icons8-upload"))letedit="Edit"letdelete=ContextMenuItemWithImage(title:"Delete", image: #imageLiteral(resourceName:"icons8-trash"))CM.items =[share, edit, delete]CM.showMenu(viewTargeted: YourView, delegate:self, animated:true)

Delegate

You can check events by implement ContextMenuDelegate

extensionViewController:ContextMenuDelegate{func contextMenu(_ contextMenu:ContextMenu, targetedView:UIView, didSelect item:ContextMenuItem, forRowAt index:Int)->Bool{print(item.title)returntrue //should dismiss on tap
}func contextMenuDidAppear(_ contextMenu:ContextMenu){print("contextMenuDidAppear")}func contextMenuDidDisappear(_ contextMenu:ContextMenu){print("contextMenuDidDisappear")}}

Requirements

  • Xcode 9+
  • Swift 4.0
  • iOS 10+

License

This project is under MIT license. For more information, see LICENSE file.

Credits

ContextMenuSwift was developed while trying to implement iOS 13 context menu with a tap gesture.

It will be updated when necessary and fixes will be done as soon as discovered to keep it up to date.

You can find me on Twitter @Umer_Jabbar and Linkedin umerjabbar.

Enjoy! 🤓

About

A better version of iOS 13 Context Menu

Topics

Resources

Stars

318 stars

Watchers

6 watching

Forks

Releases

Packages

Contributors

Languages