测试已测试 | ✗ |
语言语言 | SwiftSwift |
许可证 | MIT |
发布最后发布 | 2017年2月 |
SwiftSwift 版本 | 3.0 |
SPM支持 SPM | ✗ |
由 Ozzie Kirkby 维护。
Dropper是一个简单的iOS下拉菜单。考虑到可定制性,并且在使用方式上具有灵活性。此外,它易于设置和使用。如果您在寻找复杂的下拉菜单,这可能不是您想要的。它更多的是作为一个视图的附件来使用。例如,在购物车应用程序中更改货币。
左边是基本Dropper菜单的演示。右边是Dropper如何在Outflow中使用。
Dropper可通过CocoaPods获得。要安装它,只需将以下行添加到您的Podfile中
pod "Dropper"
设置很简单,安装库后,在您的视图中初始化Dropper菜单
let dropper = Dropper(width: 75, height: 200)
初始化Dropper视图后,您需要指定要显示在Dropper内的哪些项
dropper.items = ["Item 1", "Item 2", "Item 3", "Item 4"] // Items to be displayed
// Dropper also supports images
dropper.items = ["Item 1", "ImageOne.png", "Item 3", "ImageTwo.png"] // Images can be mixed with text items
准备好显示Dropper菜单时,您有两种选择来显示:show()
或showWithAnimation()
。
dropper.show(options: .Alignment.Center, button: UIButton)
// OR
dropper.showWithAnimation(0.15, options: .Alignment.Center, button: UIButton)
准备好获取选中的Dropper项时,将您的类配置为DropperDelegate
并实现DropperSelectedRow
方法,在显示视图之前,您还需要初始化dropper.delegate
属性到您的类。
dropper.delegate = self // Insert this before you show your Dropper
extension ViewController: DropperDelegate {
func DropperSelectedRow(path: NSIndexPath, contents: String) {
/* Do something */
}
}
class ViewController: UIViewController {
let dropper = Dropper(width: 75, height: 200)
@IBOutlet var dropdownButton: UIButton!
@IBAction func DropdownAction() {
if dropper.status == .Hidden {
dropper.items = ["Item 1", "Item 2", "Item 3", "Item 4"] // Item displayed
dropper.theme = Dropper.Themes.White
dropper.delegate = self
dropper.cornerRadius = 3
dropper.showWithAnimation(0.15, options: Dropper.Alignment.Center, button: dropdownButton)
} else {
dropper.hideWithAnimation(0.1)
}
}
}
显示下拉菜单
show(options: Alignment, position: Position = .Bottom, button: UIButton)
showWithAnimation(time: NSTimeInterval, options: Alignment, position: Position = .Bottom, button: UIButton)
// Dropdown displayed on top of the button
dropper.showWithAnimation(0.15, options: Dropper.Alignment.Center, position: .Top, button: button)
// Dropdown displayed under the button
dropper.showWithAnimation(0.15, options: Dropper.Alignment.Center, button: button)
隐藏下拉菜单
hide()
使用淡出动画隐藏下拉菜单hideWithAnimation(time: NSTimeInterval)
trimCorners
Bool:自动应用10像素的边框圆角到下拉菜单(默认为False)defaultAnimationTime
NSTimeInterval:动画的默认持续时间(默认为0.1)delegate
DropperDelegate:代理属性,必须初始化以调用函数DropperSelectedRow
:每当选择下拉菜单的一行时调用status
状态 (枚举):视图的当前状态spacing
CGFloat:按钮到下拉菜单的距离maxHeight
CGFloat:下拉菜单可能的最大高度cellBackgroundColor
UIColor:设置单元格背景颜色(未设置时默认为主题颜色)cellColor
UIColor:设置单元格的着色颜色和文本颜色(未设置时默认为主题颜色)cellTextSize
CGFloat:设置文本的大小为提供的值(默认为UILabel字体大小)TableMenu
UITableView:构建下拉菜单的表视图items
[String]:在表视图中显示的项目height
CGFloat:下拉菜单的高度width
CGFloat:下拉菜单的宽度cornerRadius
CGFloat:下拉菜单的圆角半径theme
主题 (枚举):下拉菜单的主题(默认为白色主题).White
:黑色文本颜色,白色背景颜色和黑色边框颜色.Black(UIColor)
:白色文本,深色背景颜色,您也可以指定自己的颜色,或通过传递 nil 到枚举案例使用默认值dropper.theme = Dropper.Themes.Black(nil) // Uses default dark color
// OR
dropper.theme = Dropper.Themes.Black(UIColor.blackColor()) // Uses Black UIColor
border
(width: CGFloat, color: UIColor):指定下拉菜单的边框宽度和颜色dropper.border = (width: 2, color: UIColor.blueColor())
refresh()
:刷新下拉菜单。用于在表视图上特别调用 .reloadData()Dropper 可在 MIT 许可证下使用。有关更多信息,请参阅 LICENSE 文件。
由 Ozzie Kirkby 构建,如有任何问题,请随时联系。Twitter