Cómo get el valor de color RGB de UISlider

He intentado este código pero no funciona correctamente. En el cambio de valor de UISlider llamé a este método …

@property (strong, nonatomic) IBOutlet UISlider *r; @property (strong, nonatomic) IBOutlet UISlider *g; @property (strong, nonatomic) IBOutlet UISlider *b; @property (strong, nonatomic) IBOutlet UILabel *colorLabel; - (void)viewDidLoad { [super viewDidLoad]; _r.minimumValue=0; _r.maximumValue=255; _g.minimumValue=0; _g.maximumValue=255; _b.minimumValue=0; _b.maximumValue=255; // Do any additional setup after loading the view, typically from a nib. } -(void)sliderValueChanged:(UISlider*)slider { [_colorLabel setBackgroundColor:[UIColor colorWithRed:_r.value green:_g.value blue:_b.value alpha:1]]; } 

por favor ayuda si alguien tiene alguna idea …

Usa tu método de color de configuration como

 -(void)sliderValueChanged:(UISlider*)slider { float r=[[NSString stringWithFormat:@"%.0f",_r.value] floatValue]; float g=[[NSString stringWithFormat:@"%.0f",_g.value]floatValue]; float b=[[NSString stringWithFormat:@"%.0f",_b.value]floatValue]; UIColor *colorToSet=[UIColor colorWithRed:(r/255.0f) green:(g/255.0f) blue:(b/255.0f) alpha:1]; [_colorLabel setBackgroundColor:colorToSet]; } 

Comprobar muestra

Los methods UIColor toman cada parámetro de componente en el range de 0 to 1 , por lo que debe dividir los valores del control deslizante en 255.0 antes de pasarlos.

Intente esto (Ignore el slider alfa, esta es mi propia solución real para una tarea similar):

MANTENGA EN CUENTA: deje que sus controles deslizantes vayan de 0 a 1 para evitar la split hasta 255.

Archivo .h:

 IBOutlet UISlider *rSlider; IBOutlet UISlider *gSlider; IBOutlet UISlider *bSlider; 

file .m

 -(void)blueSlider:(id)sender { bSlider = (UISlider *)sender; UIColor *newColor = [UIColor colorWithRed:rSlider.value green:gSlider.value blue:bSlider.value alpha:alphaSlider.value]; colorView.backgroundColor = newColor; } -(void)greenSlider:(id)sender { gSlider = (UISlider *)sender; UIColor *newColor = [UIColor colorWithRed:rSlider.value green:gSlider.value blue:bSlider.value alpha:alphaSlider.value]; colorView.backgroundColor = newColor; } -(void)networkingSlider:(id)sender { rSlider = (UISlider *)sender; UIColor *newColor = [UIColor colorWithRed:rSlider.value green:gSlider.value blue:bSlider.value alpha:alphaSlider.value]; colorView.backgroundColor = newColor; } 

Para u Exothug

Si el valor del control deslizante de 0 a 1 solo

 -(IBAction)sliderValue:(UISlider*)sender { UIColor *newColor = [UIColor colorWithRed:rSlider.value green:gSlider.value blue:bSlider.value alpha:1]; _colorLabel.backgroundColor = newColor; } 
  • Primero crea 3 controles deslizantes en tu Main.storyboard
  • Segundo crea todos los slideres action ex :. Red_slider, Green_slider, Blue_slider
  • Tercera crear 3 tags y sus salidas

Ahora en ViewCotroller

Ingrese el código en ViewController.swift al igual que como Image