PerimeterMenu
示例
要运行示例项目,请先克隆库,然后从Example目录首先运行pod install
示例动图
要求
iOS 10+
安装
PerimeterMenu可以通过CocoaPods来使用。要安装它,请将以下行添加到您的Podfile中
pod 'PerimeterMenu'
配置
本节介绍了如何根据您的需求配置PerimeterMenu。
委托/数据源
为数据源实现 PerimeterMenuDelegate。
注意:数据源是 必须的。
func perimeterMenu(_ menu: PerimeterMenu,
configurationFor itemPosition: Int,
withButton button: UIButton)
为委托方法实现 PerimeterMenuDelegate。
注意:所有委托方法都是 可选的 且具有自解释性。
func perimeterMenu(_ menu: PerimeterMenu,
didSelectItem button: UIButton,
at position: Int)
func perimeterMenu(_ menu: PerimeterMenu,
didStartHoveringOver button: UIButton,
at position: Int)
func perimeterMenu(_ menu: PerimeterMenu,
didEndHoveringOver button: UIButton,
at position: Int)
func perimeterMenuWillCollapse(_ menu: PerimeterMenu)
func perimeterMenuWillExpand(_ menu: PerimeterMenu)
func perimeterMenuDidCollapse(_ menu: PerimeterMenu)
func perimeterMenuDidExpand(_ menu: PerimeterMenu)
注意:请确保通过代码或故事板指定/连接您的委托和个人数据源。
回调
PerimeterMenu实例上有两个可用的回调。两者都是 可选的。
- onButtonTap 在PerimeterMenu主按钮被点击时被调用。
- onButtonLongPress 在PerimeterMenu主按钮被长按时被调用。
这两个回调都应 返回布尔值。返回 true 如果默认操作(展开菜单)仍然应该执行。返回 false 如果您想完全用您提供的作为闭包/块的体来覆盖默认操作。
重要:如果您计划执行 performSegue 到另一个控制器,则永远不要返回 true。如果您这样做,菜单将展开并覆盖新显示的控制器。
作者
- Alex Kremer, godexsoft at gmail dot com
- Valera Chevtaev, myltik at gmail dot com
许可证
PerimeterMenu可在MIT许可证下使用。有关更多信息,请参阅LICENSE文件。