ContextMenuSwift 1.0.0

ContextMenuSwift 1.0.0

Umer 维护。



  • Umer Jabbar

ContextMenuSwift

Linkedin: umerjabbar Twitter: @Umer_Jabbar License Xcode 10.0+ iOS 10.0+ Swift 4.0+ Cocoapods

安装📱

只需将 ContextMenuSwift 添加到您的 Podfile 中,然后运行 pod install。完成!

pod 'ContextMenuSwift'

使用

示例 1

在您的视图中展示字符串值的菜单

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

示例 2

异步更新菜单项

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)
}

示例 3

异步更新目标视图

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)
}

示例 4

显示带图标的菜单

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

委托

您可以通过实现 ContextMenuDelegate 来检查事件

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

需求

  • Xcode 9+
  • Swift 4.0
  • iOS 10+

许可证

此项目在 MIT 许可证下。有关更多信息,请参阅 LICENSE 文件。

致谢

ContextMenuSwift 是在尝试实现使用点击手势的 iOS 13 上下文菜单时开发的。

将在必要时进行更新,并在发现问题后尽快修复以保持其更新状态。

您可以在 Twitter @Umer_Jabbar 和 Linkedin umerjabbar 上找到我。

享受乐趣!🤓