iPhone开发中是否有一个颜色选择器库/代码?

34

有没有现成的“颜色选择器”库可供我在iPhone开发中使用?


请提供iOS中的颜色选择器或调色板。 - ricardopereira
10个回答

22

1
我刚刚花了一上午的时间评估了所有的iOS颜色选择器,这似乎是最好和最简单的。它不是ARC,但很容易转换。 - Nestor
3
该项目已经转换为ARC,并添加了文档以方便使用,可以通过CocoaPods获取。 - Fabian
@Fabian 感谢您的评论。 - Rahul Vyas
Github上的项目与最近(iOS 9+)的项目不兼容。 - Jonny

18

这里是一个带有以下功能的颜色选择器

  • 显示简单的颜色板(简化基本情况)、色调网格或HSL选择器。
  • 适用于iPhone 5 - 颜色面板可扩展以填充较大的屏幕。
  • 色调网格-更多主要颜色变化。底部的颜色行可以被点击以选择颜色,或者左右滑动来操作。
  • HSL选择器-用于对细粒度颜色进行选择,呈现色调圆和单独的饱和度和亮度控件。
  • Alpha选择器
  • 允许用户保存他们最喜欢的颜色。收藏夹存储在文档目录中的文件中。
  • 简单的委托模型。
  • 您可以指定标题头部分的当前颜色选择和标题。

截图: 输入图片说明 输入图片说明 输入图片说明


有点晚了,但在我看来是最好的选择。 - stephenmuss
这个选择器的一个主要问题是它不能自动调整大小以适应所在的视图。它是硬编码为3.5英寸和4英寸屏幕尺寸。 - jjxtra

2

2

2
我的完整答案在这里。如果你不想使用第三方库而是想用自己的代码,可以按照以下步骤进行:

制作自己的颜色选择器

在Storyboard中添加一个UIView、一个UIImageView和一个UISlider

enter image description here

使用此图像来设置UIImageView:

enter image description here

UISlider的最小值和最大值设置为0.5和13.5。
将UI元素连接到视图控制器,并使用以下代码将滑块位置转换为颜色。
class ViewController: UIViewController {
 
    // RRGGBB hex colors in the same order as the image
    let colorArray = [ 0x000000, 0xfe0000, 0xff7900, 0xffb900, 0xffde00, 0xfcff00, 0xd2ff00, 0x05c000, 0x00c0a7, 0x0600ff, 0x6700bf, 0x9500c0, 0xbf0199, 0xffffff ]
    
    @IBOutlet weak var selectedColorView: UIView!
    @IBOutlet weak var slider: UISlider!
    @IBAction func sliderChanged(sender: AnyObject) {
        selectedColorView.backgroundColor = uiColorFromHex(colorArray[Int(slider.value)])
    }
   
    func uiColorFromHex(rgbValue: Int) -> UIColor {
        
        let red =   CGFloat((rgbValue & 0xFF0000) >> 16) / 0xFF
        let green = CGFloat((rgbValue & 0x00FF00) >> 8) / 0xFF
        let blue =  CGFloat(rgbValue & 0x0000FF) / 0xFF
        let alpha = CGFloat(1.0)
        
        return UIColor(red: red, green: green, blue: blue, alpha: alpha)
    }
}

enter image description here

或者通过将滑块放置在图像上方,并将轨道色调设置为透明:

enter image description here


1

1

回答PsychoDad的问题,同时参考kabram的回答,现在有一个分支 原版Neovera Color Picker,增加了以下功能:

  • iPhone上的横屏模式
  • iPad(以弹出窗口形式)
  • 保存喜欢的颜色时使用动画效果
  • 使用UINavigationController来推送视图

如何在iPad上使用弹出窗口?我得到了全屏视图! - MQoder

1

在这里我找到了另一篇文章,它很容易理解,你可以通过简单的更改来自定义它。


0

0

我想抛出我的颜色选择器。我在我的应用程序You Doodle中使用它,并花了几周的时间制作和测试它。它包含一个示例项目,向您展示如何开始使用它,并在MIT许可下开源。它支持任何设备(iOS 6+),任何分辨率和纵向和横向模式。支持收藏夹、最近使用颜色、按色调选择颜色、颜色轮和导入纹理,以及删除和将收藏夹移动到前面。

我试图结合所有其他颜色选择器的优点,并确保MIT许可可以轻松地集成到任何项目中。

Github:https://github.com/jjxtra/DRColorPicker

截图:

DRColorPicker iPhone DRColorPicker iPad DRColorPicker iPhone DRColorPicker iPad DRColorPicker iPhone DRColorPicker iPad


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接