下面是我试图实现R、G和amp;B来制作将插入UIImage框中的颜色。我是编程新手,完全被这个难住了。
属性&滑块动作:
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIImageView *colorView;
@property (weak, nonatomic) IBOutlet UISlider *redSlider;
@property (weak, nonatomic) IBOutlet UISlider *greenSlider;
@property (weak, nonatomic) IBOutlet UISlider *blueSlider;
- (IBAction)adjustRed:(id)sender;
- (IBAction)adjustGreen:(id)sender;
- (IBAction)adjustBlue:(id)sender;
滑块变量分配:
- (IBAction)adjustRed:(id)sender {
NSString *redString;
redString=[NSString stringWithFormat:@"%0.0f", self.redSlider.value];
}
- (IBAction)adjustGreen:(id)sender {
NSString *greenString;
greenString=[NSString stringWithFormat:@"%0.0f", self.greenSlider.value];
}
- (IBAction)adjustBlue:(id)sender {
NSString *blueString;
blueString=[NSString stringWithFormat:@"%0.0f", self.blueSlider.value];
}
为UIImage指定颜色的方法:
-(void) MixColor {
self.colorView.backgroundColor=[UIColor colorWithRed:redString green:greenString blue:blueString alpha:1];
}
@end
您的操作方法创建一个局部变量(redString
,…(可在CCD_ 2方法中访问。
更重要的是,UIColor
是由R、G、B、a分量的0.0..1.0范围内的浮点值创建的(而不是由字符串创建的(
要从滑块值更新颜色,只需使用
-(void) mixColor
{
self.colorView.backgroundColor =
[UIColor colorWithRed:self.redSlider.value
green:self.greenSlider.value
blue:self.blueSlider.value
alpha:1];
}
(假设滑块的默认最小值为0.0,最大值为1.0(。然后从所有滑块操作方法中调用此方法:
- (IBAction)adjustRed:(id)sender
{
[self mixColor];
}
并且类似地用于其它滑块。
实际上,您可以将所有滑块连接到相同的操作方法,该方法会更新图像视图的颜色。