Dropper 2.7.6

Dropper 2.7.6

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2017年2月
SwiftSwift 版本3.0
SPM支持 SPM

Ozzie Kirkby 维护。



Dropper 2.7.6

  • 作者:
  • kirkbyo

Dropper

Dropper是一个简单的iOS下拉菜单。考虑到可定制性,并且在使用方式上具有灵活性。此外,它易于设置和使用。如果您在寻找复杂的下拉菜单,这可能不是您想要的。它更多的是作为一个视图的附件来使用。例如,在购物车应用程序中更改货币。

Basic demo of how Dropper looks Outflow Demo for how Dropper is used in the app

左边是基本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)
    • options Dropper.Alignment:与按钮对应的下拉位置(左、中、右)
    • position Dropper.Position:下拉的水平对齐方式。默认在按钮下方。
    • button UIButton:按钮相对于该按钮显示

  • showWithAnimation(time: NSTimeInterval, options: Alignment, position: Position = .Bottom, button: UIButton)
    • time NSTimeInterval:渐变动画所需时间
    • options Dropper.Alignment:与按钮对应的下拉位置(左、中、右)
    • position Dropper.Position:下拉的水平对齐方式。默认在按钮下方。
    • 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)
    • 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