测试已测试 | ✗ |
语言语言 | SwiftSwift |
许可协议 | MIT |
发布最新版本 | 2017年10月 |
SwiftSwift 版本 | 3.0 3.0 |
SPM支持 SPM | ✗ |
由 JKDropdown 维护。
JKDropDown 是一个简单轻量级的 Swift 下拉菜单
dropDownObject.showJKDropDown(senderObject: buttonSelect, height: 180, arrayList: arrayIs , arrayImages: imageArray,buttonFrame:buttonFrame!,direction : "down")// 你可以设置 "up"
在包含本地化文本的每个 Swift 文件顶部导入 Localize。在您的 Class 中添加 JKDropDownDelegate
class ViewController: UIViewController,JKDropDownDelegate {}
创建一个 CGRect 类变量以获取按钮框架
var buttonFrame : CGRect?
创建 JKDropDown 对象
var dropDownObject:JKDropDown!
使用父视图将值分配给 buttonFrame
buttonFrame = view.convert(buttonSelect.frame, to: view)//view is parent view (self.view)
import UIKit
class ViewController: UIViewController,JKDropDownDelegate {
@IBOutlet weak var buttonSelect : UIButton!
var buttonFrame : CGRect?
var dropDownObject:JKDropDown!
var arrayIs : [String] = ["Edit","Love","Music","Location"]
let imageArray = ["1","2","3","4"]
override func viewDidLoad() {
super.viewDidLoad()
buttonSelect.addTarget(self, action: #selector(tapsOnButton), for: UIControlEvents.touchUpInside)
}
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(true)
buttonFrame = view.convert(buttonSelect.frame, to: view)
}
func tapsOnButton() {
if dropDownObject == nil {
dropDownObject = JKDropDown()
dropDownObject.dropDelegate = self
dropDownObject.showJKDropDown(senderObject: buttonSelect, height: 180, arrayList: arrayIs , arrayImages: imageArray,buttonFrame:buttonFrame!,direction : "down")
view.addSubview(dropDownObject)
}
else {
dropDownObject.hideDropDown(senderObject: buttonSelect,buttonFrame:buttonFrame!)
dropDownObject = nil
}
}
func recievedSelectedValue(name: String, imageName: String) {
dropDownObject.hideDropDown(senderObject: buttonSelect, buttonFrame: buttonFrame!)
dropDownObject = nil
buttonSelect.setTitle(name, for: .normal)
var imageView : UIImageView?
imageView = UIImageView(image: UIImage(named:imageName))
imageView?.frame = CGRect(x: 5, y: 5, width: 25, height: 25)
buttonSelect.addSubview(imageView!)
}
}
JKDropDown 根据 MIT 许可协议发布。有关详细信息,请参阅 LICENSE