我正在使用Xcode来制作我的第一个应用程序。我想为我的文字添加RGB颜色选择器,所以我可以使用颜色选择器更改文本的颜色。我该怎么办?
感谢您的时间! :)
答案 0 :(得分:1)
看看GitHub。你会在那里找到无数的颜色选择器回购。这是我在搜索时找到的第一个:
https://github.com/RSully/RSColorPicker
如果您不熟悉编程,您应该坚持使用内置的UI组件。您可以使用两个UIButtons让用户在“红色”和“黑色”之间进行选择,并直接从按钮操作中设置文本颜色。
我认为一个完整的颜色选择器是你的第一个应用程序的一个大项目。
一个天真的实现可以简单地创建一些循环通过可能颜色的颜色井。
以下ColorPickerView
是一个UIView
子类,用于说明这一点。
#import "ColorPickerView.h"
@implementation ColorPickerView
- (void)drawRect:(CGRect)rect {
// Create a grid of n*n wells each with a seperate color --
const int numberOfWells = 20;
const int totalWells = numberOfWells * numberOfWells;
// Figure out the size of each well --
const CGSize size = self.bounds.size;
const CGFloat boxHeight = floorf( size.height / numberOfWells);
const CGFloat boxWidth = floorf( size.width / numberOfWells);
CGContextRef context = UIGraphicsGetCurrentContext();
// Loop through all the wells --
for(int y = 0; y < numberOfWells; y++ ) {
for(int x = 0; x < numberOfWells; x++ ) {
int wellNumber = x + numberOfWells * y;
// Assign each well a color --
UIColor *boxColor = [self colorForWell:wellNumber ofTotal:totalWells];
[boxColor setFill];
CGRect box = CGRectMake(x*boxWidth, y*boxHeight, boxWidth, boxHeight);
CGContextAddRect(context, box);
CGContextFillRect(context, box);
}
}
}
-(UIColor*) colorForWell:(int) well ofTotal:(int) wells {
CGFloat red = (CGFloat) well / wells;
CGFloat green = well % (wells/3) / (CGFloat) (wells/3);
CGFloat blue = well % (wells/9) / (CGFloat) (wells/9);
return [UIColor colorWithRed:red green:green blue:blue alpha:1.0];
}
@end
让用户点击颜色并从触摸位置推断颜色。
答案 1 :(得分:-4)
不可能教你如何制作颜色选择器。您应该学习Objective C并且可能会看到一些现有的开源项目,它们可以帮助您学习如何创建自己的项目(如果您不想使用和编辑现有项目)... 看看这些Color Pickers