EliminationMenu 1.0.2

EliminationMenu 1.0.2

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最新版本2018年9月
SPM支持 SPM

Roman Gille 维护。



  • Roman Gille

EliminationMenu

Travis CocoaPods CocoaPods Platform

一种菜单,用于消除所有未被选中的值。

安装

只需将 Sources 文件夹拖到您的项目中。

Cocoapods

如果您使用的是 CocoaPods,将其添加到您的 Podfile 中

pod EliminationMenu

Swift Package Manager

要将 EliminationMenu 添加到基于 Swift Package Manager 的项目中,将以下内容添加到您的 Package.swift 中的 dependencies 值:

.package(url: "https://github.com/r-dent/EliminationMenu", from: "1.0.2")

使用方法

您可以在 Interface Builder 中或是在代码中创建一个 EliminationMenu 视图。

创建条目

为了设置条目,创建一个符合 EliminationMenuItem 实例的数组,并将其设置到菜单对象的 items 属性。

let menuEntries = [
    EliminationMenu.Item(value: "SomeValue", title: "First"),
    EliminationMenu.Item(value: "SomeOtherValue", title: "Second"),
    EliminationMenu.Item(value: UIImage(named: "filename"), title: "Third"), // You can use values of any kind.
    EliminationMenu.Item(value: "...or a view", title: "Fourth"),
    "Just a String",
    MyCustomType(customProperty: true, someOtherProperty: 5)
]
menu.items = menuEntries

提示:默认的类型 EliminationMenu.Item 可以用来填充菜单。但您也可以创建自己的类型来符合 EliminationMenuItem 并直接使用。例如,String 已经符合了它。因此,您可以使用字符串作为菜单项。参见示例项目以获得概述。

创建菜单

使用便捷方法创建菜单并将其添加到视图控制器的视图作为子视图。

let menu = EliminationMenu.createMenu(withItems: menuEntries, inView: view, aligned: .topRight, margin: CGPoint(x: 0, y: 20)) { (item) in
	print("Selected value: \(item.value)")
}

如果您想使用 Interface Builder,只需添加一个 UIView,并固定其两条边缘(垂直和水平)。将 EliminationMenu 设置为视图的类。同时添加宽度和高度的约束以抑制警告。在大小约束上启用 "在构建时移除"。菜单将在运行时获得固有大小。

您还可以创建一个 EliminationMenu 实例,并在父视图中对其进行约束。确保在最后调用 menu.setup()

参见 示例代码 以获得更深入的了解。

自定义

您可以如下自定义菜单的属性

menu.font = UIFont.boldSystemFont(ofSize: 24)
menu.color = UIColor.white

menu.setup()

请务必调用 menu.setup() 应用您的变更。有关更多自定义方式,请参阅 文档

授权协议

EliminationMenu 受 MIT 授权协议保护。有关更多信息,请参阅 LICENSE 文件。