MenuItemKit 4.0.1

MenuItemKit 4.0.1

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布上次发布2020年4月
SPM支持 SPM

Alex PopovCHEN Xian-an 维护。



MenuItemKit

MenuItemKitUIMenuItem 提供了图片和块(闭包)支持。

MenuItemKit 是一个 Swift 项目,但无疑也支持 Objective-C。

Screenshot

安装

Swift 包

将此仓库 URL 添加到您的 Swift 包依赖项。

CocoaPods

pod 'MenuItemKit', '~> 4.0.0'

Xcode 子项目

  1. MenuItemKit 仓库添加为您应用程序仓库的子模块。
  2. MenuItemKit.xcodeproj 拖拽到您的应用程序的 Xcode 项目或工作区中。
  3. 在您的应用程序目标的“通用”设置标签页中,将 MenuItemKit.framework 添加到“嵌入的二进制文件”部分。

如果您希望使用 Carthage,请发起一个 pull request。

如何使用

MenuItemKit 非常容易使用,它只提供了 2 个 API

typealias MenuItemAction = (UIMenuItem) -> ()

extension UIMenuItem {
    convenience init(title: String, image: UIImage?, action: MenuItemAction)
    convenience init(title: String, action: MenuItemAction)
}

为了安全起见,MenuItemKit 为 Objective-C 提供了前缀的 API 名称

@interface UIMenuItem (SWIFT_EXTENSION(MenuItemKit))
- (nonnull instancetype)mik_initWithTitle:(NSString * _Nonnull)title image:(UIImage * _Nullable)image action:(MenuItemAction _Nonnull)action;
- (nonnull instancetype)mik_initWithTitle:(NSString * _Nonnull)title action:(MenuItemAction _Nonnull)action;
@end

只需使用上述 API 初始化 UIMenuItem 对象,并将它们设置到 UIMenuItemControllermenuItems 属性上。 MenuItemKit 会处理剩下的事情,您不需要在视图或视图控制器中添加任何关于响应链的代码。

查看示例项目(提供了 Swift 和 Objective-C 的示例)以获取更多详情。

高级使用

对于您无法控制的菜单项,您可以使用 static func installTo(responder: UIResponder, shouldShowForAction: @escaping (Selector, Bool) -> Bool = default) 来配置项目可见性。查看 AutoPopupMenuControllerDemo

关于我

  • Twitter: @_cxa
  • App Store 中的应用程序:http://lazyapps.com
  • PayPal: xianan.chen+paypal📧gmail.com,如果您觉得这个工具对您有用,请为我买一杯咖啡,谢谢。

许可协议

MenuItemKit采用MIT许可证发布。简而言之,它是免版税的,但您必须在您的代码或软件分发中保留版权声明。