集美阅读大全是一个以文章句子为主题的在线阅读网站。内含有各种经典好文章,爱情美文,诗歌散文,情感句子说说,范文资料等。读好文章,尽在集美阅读大全!!!
当前位置:集美阅读大全 >互联网 >软件 > 正文

轻量级 iOS 颜色选择器 EFColorPicker

EFColorPicker 是一个纯 Swift 的轻量级 iOS 颜色选择器,受 MSColorPicker 启发。

https://github.com/EFPrefix/EFCountingLabel

轻量级 iOS 颜色选择器 EFColorPicker

 

概述

iOS 颜色选择器组件,它能够让用户选择自定义颜色,关键特性如下:

  • 支持 iPhone 和 iPad
  • 自适应的用户界面
  • 支持 RGB 和 HSB 两种颜色模式
  • 比较完善的文档和注释
  • 支持 iOS 8.0 (iPhone & iPad) 及更高版本

预览

轻量级 iOS 颜色选择器 EFColorPicker 轻量级 iOS 颜色选择器 EFColorPicker 轻量级 iOS 颜色选择器 EFColorPicker

示例

  1. 利用 git clone 命令下载本仓库;
  2. 利用 cd 命令切换到 Example 目录下,执行 pod install 命令;
  3. 随后打开 EFColorPicker.xcworkspace 编译即可。

或执行以下命令:

  1. git clone git@github.com:EFPrefix/EFColorPicker.git; cd EFColorPicker/Example; pod install; open EFColorPicker.xcworkspace

环境

  • iOS 8.0+
  • Xcode 10.1+
  • Swift 4.2+
  • CocoaPods 1.6.0.beta.2+

安装

EFColorPicker 可以通过 CocoaPods 进行获取。只需要在你的 Podfile 中添加如下代码就能实现引入:

  1. pod "EFColorPicker"

使用

  1. 首先,需要导入 EFColorPicker 库:
  1. import EFColorPicker
  1. 接下来,可以通过纯代码调用:
  1. let colorSelectionController = EFColorSelectionViewController()
  2. let navCtrl = UINavigationController(rootViewController: colorSelectionController)
  3. navCtrl.navigationBar.backgroundColor = UIColor.white
  4. navCtrl.navigationBar.isTranslucent = false
  5. navCtrl.modalPresentationStyle = UIModalPresentationStyle.popover
  6. navCtrl.popoverPresentationController?.delegate = self
  7. navCtrl.popoverPresentationController?.sourceView = sender
  8. navCtrl.popoverPresentationController?.sourceRect = sender.bounds
  9. navCtrl.preferredContentSize = colorSelectionController.view.systemLayoutSizeFitting(
  10.     UILayoutFittingCompressedSize
  11. )
  12. colorSelectionController.delegate = self
  13. colorSelectionController.color = self.view.backgroundColor ?? UIColor.white
  14. if UIUserInterfaceSizeClass.compact == self.traitCollection.horizontalSizeClass {
  15.     let doneBtn: UIBarButtonItemUIBarButtonItem = UIBarButtonItem(
  16.         title: NSLocalizedString("Done", comment: ""),
  17.         style: UIBarButtonItemStyle.done,
  18.         target: self,
  19.         action: #selector(ef_dismissViewController(sender:))
  20.     )
  21.     colorSelectionController.navigationItem.rightBarButtonItem = doneBtn
  22. }
  23. self.present(navCtrl, animated: true, completion: nil)

也可以通过 Storyboard 调用:

  1. if "showPopover" == segue.identifier {
  2.     guard let destNav: UINavigationController = segue.destination as? UINavigationController else {
  3.         return
  4.     }
  5.     if let size = destNav.visibleViewController?.view.systemLayoutSizeFitting(UILayoutFittingCompressedSize) {
  6.         destNav.preferredContentSize = size
  7.     }
  8.     destNav.popoverPresentationController?.delegate = self
  9.     if let colorSelectionController = destNav.visibleViewController as? EFColorSelectionViewController {
  10.         colorSelectionController.delegate = self
  11.         colorSelectionController.color = self.view.backgroundColor ?? UIColor.white
  12.         if UIUserInterfaceSizeClass.compact == self.traitCollection.horizontalSizeClass {
  13.             let doneBtn: UIBarButtonItemUIBarButtonItem = UIBarButtonItem(
  14.                 title: NSLocalizedString("Done", comment: ""),
  15.                 style: UIBarButtonItemStyle.done,
  16.                 target: self,
  17.                 action: #selector(ef_dismissViewController(sender:))
  18.             )
  19.             colorSelectionController.navigationItem.rightBarButtonItem = doneBtn
  20.         }
  21.     }
  22. }

你可以通过修改 EFColorSelectionViewController 的 isColorTextFieldHidden 属性来控制颜色编辑框的可见性,效果如下:

轻量级 iOS 颜色选择器 EFColorPicker 轻量级 iOS 颜色选择器 EFColorPicker

具体可参考示例程序。

  1. 最后,不要忘记调用的 ViewController 需要继承 EFColorSelectionViewControllerDelegate 来及时获取颜色的变化:
  1. // MARK:- EFColorSelectionViewControllerDelegate
  2. func colorViewController(colorViewCntroller: EFColorSelectionViewController, didChangeColor color: UIColor) {
  3.     self.view.backgroundColor = color
  4.     // TODO: You can do something here when color changed.
  5.     print("New color: " + color.debugDescription)
  6. }

80%的人都看过的文章

  • Apple 发布 iOS 12.4 Beta 6,macOS Mojave 10.14.6 Beta 4和watchOS 5.3 Beta 5
  • 微信推出7.0安卓测试版,可提前尝鲜
  • iOS 12.1.1出问题:显示4G网络却无法上网
  • Apple发布iOS 12.1.3,macOS 10.14.3,watchOS 5.1.3和tvOS 12.1.2

课后答案张九龄《望月怀远》阅读答案及全诗翻译赏析

望月怀远张九龄海上生明月,天涯共此时。情人怨遥夜,竟夕起相思。灭烛怜光满,披衣觉露滋。不堪盈手赠,还寝梦佳期。注释⑴怀远:怀念远方的亲人。⑵最前面两句:辽阔无边的大海上升起一轮明月,使人想起了远在天涯……
2023-11-22 04:53暂无评论阅读详情

课后答案王安石《次韵唐公三首其三旅思》阅读答案

次韵唐公三首其三旅思王安石此身南北老,愁见问征途。地大蟠三楚,天低入五湖。看云心共远,步月影同孤。慷慨秋风起,悲歌不为鲈②。注:①张壤,字唐公,北宋嘉佑六年契丹国母生辰使,王安石友人。②《晋书&mid……
2023-11-22 04:52暂无评论阅读详情

笔记心得各级干部学习执法为民心得体会

  “各级干部都要牢固树立全心全意为人民服务的思想和真心实意对人民负责的精神,做到心里装着群众,凡事想着群众,工作依靠群众,一切为了群众。要坚持权为民所用,情为民所系,利为民所谋,为群众诚……
2023-11-22 04:12暂无评论阅读详情

笔记心得寒假大学生社会实践心得体会

  自从走进了大学,就业问题就似乎总是围绕在我们的身边,成了说不完的话题。在现今社会,招聘会上的大字报都总写着“有经验者优先”,可还在校园里面的我们这班学子社会经验又会拥有多少……
2023-11-22 04:08暂无评论阅读详情

协议书济南市某美容院转让协议第2篇

  __________美容院根据中华人民共和国国务院劳动法规和________市私营企业劳动管理实施办法,结合本美容院经营的具体所需今制订此劳动合同书。  双……
2023-11-22 02:36暂无评论阅读详情

剧本劳模宣传短剧剧本《阿咪也想当劳模》

  1、机械厂门卫处,日,外。  清早,机械厂班长李玉伟开着别克赛欧小汽车驶进厂区,门卫室内的保安一边按开电动门,一边朝李玉伟摆手。  李玉伟:(摇下车窗,笑着打招呼)小秦,早。  保安小秦:(笑着)……
2023-11-22 02:11暂无评论阅读详情

教程灰雀说课稿

灰雀说课稿  灰雀说课稿(一):  《灰雀》说课稿  一、说教材  《灰雀》是义务教育课程标准实验教科书,小学语文第五册第二单元的一篇讲读课文。这篇课文记叙了列宁在莫斯科郊外养病期间爱护灰雀的故事。列……
2023-11-22 00:41暂无评论阅读详情

课件“吴隐之字处默,濮阳鄄城人”阅读答案及原文

吴隐之字处默,濮阳鄄城人。美姿容,善谈论,博涉文史,以儒雅标名。弱冠而介立,有清操,虽儋石无储,不取非其道。事母孝谨,及其执丧,哀毁过礼。与太常韩康伯邻居,康伯母,贤明妇人也,每闻隐之哭声,辍餐投箸,……
2023-11-22 00:38暂无评论阅读详情

标签