在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:EFColorPicker开源软件地址:https://gitee.com/eyrefree/EFColorPicker开源软件介绍:EFColorPicker 是一个纯 Swift 的轻量级 iOS 颜色选择器,受 MSColorPicker 启发。 概述iOS 颜色选择器组件,它能够让用户选择自定义颜色,关键特性如下:
预览
示例
或执行以下命令: git clone [email protected]:EFPrefix/EFColorPicker.git; cd EFColorPicker/Example; pod install; open EFColorPicker.xcworkspace 环境
安装EFColorPicker 可以通过 CocoaPods 进行获取。只需要在你的 Podfile 中添加如下代码就能实现引入: pod "EFColorPicker" 使用
import EFColorPicker
let colorSelectionController = EFColorSelectionViewController()let navCtrl = UINavigationController(rootViewController: colorSelectionController)navCtrl.navigationBar.backgroundColor = UIColor.whitenavCtrl.navigationBar.isTranslucent = falsenavCtrl.modalPresentationStyle = UIModalPresentationStyle.popovernavCtrl.popoverPresentationController?.delegate = selfnavCtrl.popoverPresentationController?.sourceView = sendernavCtrl.popoverPresentationController?.sourceRect = sender.boundsnavCtrl.preferredContentSize = colorSelectionController.view.systemLayoutSizeFitting( UILayoutFittingCompressedSize)colorSelectionController.delegate = selfcolorSelectionController.color = self.view.backgroundColor ?? UIColor.whiteif UIUserInterfaceSizeClass.compact == self.traitCollection.horizontalSizeClass { let doneBtn: UIBarButtonItem = UIBarButtonItem( title: NSLocalizedString("Done", comment: ""), style: UIBarButtonItemStyle.done, target: self, action: #selector(ef_dismissViewController(sender:)) ) colorSelectionController.navigationItem.rightBarButtonItem = doneBtn}self.present(navCtrl, animated: true, completion: nil) 也可以通过 Storyboard 调用: if "showPopover" == segue.identifier { guard let destNav: UINavigationController = segue.destination as? UINavigationController else { return } if let size = destNav.visibleViewController?.view.systemLayoutSizeFitting(UILayoutFittingCompressedSize) { destNav.preferredContentSize = size } destNav.popoverPresentationController?.delegate = self if let colorSelectionController = destNav.visibleViewController as? EFColorSelectionViewController { colorSelectionController.delegate = self colorSelectionController.color = self.view.backgroundColor ?? UIColor.white if UIUserInterfaceSizeClass.compact == self.traitCollection.horizontalSizeClass { let doneBtn: UIBarButtonItem = UIBarButtonItem( title: NSLocalizedString("Done", comment: ""), style: UIBarButtonItemStyle.done, target: self, action: #selector(ef_dismissViewController(sender:)) ) colorSelectionController.navigationItem.rightBarButtonItem = doneBtn } }} 你可以通过修改
具体可参考示例程序。
// MARK:- EFColorSelectionViewControllerDelegatefunc colorViewController(colorViewCntroller: EFColorSelectionViewController, didChangeColor color: UIColor) { self.view.backgroundColor = color // TODO: You can do something here when color changed. print("New color: " + color.debugDescription)} 备注EFColorPicker 的第一个版本从 MSColorPicker 转换而来,在此对 MSColorPicker 的作者 sgl0v 表示感谢! 作者EyreFree, [email protected] 协议EFColorPicker 基于 MIT 协议进行分发和使用,更多信息参见协议文件。 |
请发表评论