Just add ContextMenuSwift to your Podfile and pod install. Done!
pod'ContextMenuSwift'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)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)}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)}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)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)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")}}- Xcode 9+
- Swift 4.0
- iOS 10+
This project is under MIT license. For more information, see LICENSE file.
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! 🤓



