iphone objective-c uislider

iphone - uistepper



Ocultar la imagen del pulgar de UISlider (5)

Mucho más simple:

Objc

[sli setThumbImage:[[[UIImage alloc] init] autorelease] forState:UIControlStateNormal];

Versión rápida

sli.setThumbImage(UIImage(), for: .normal)

Estoy tratando de crear un UISlider sin la imagen del pulgar.

Cómo puedo hacer esto, este es mi código hasta ahora:

UISlider *sli = [[UISlider alloc] initWithFrame:progressView.frame]; [sli setThumbImage:nil forState:UIControlStateNormal]; [sli setBackgroundColor:[UIColor clearColor]]; [sli setMinimumTrackImage:[[UIImage imageNamed:@"ProgressBlueCap.png"] stretchableImageWithLeftCapWidth:10.0 topCapHeight:0.0] forState:UIControlStateNormal]; [sli setMaximumTrackImage:[[UIImage imageNamed:@"ProgressBlueCapRight.png"] stretchableImageWithLeftCapWidth:10.0 topCapHeight:0.0] forState:UIControlStateNormal];


Este es un hilo viejo, pero lo encontré para que alguien más también pueda hacerlo.

Aquí hay una solución a esto en Swift. Aquí estoy creando un UIImage en blanco programáticamente y luego lo asigno al pulgar.

var rect = CGRectMake(0,0,1,1) UIGraphicsBeginImageContextWithOptions(CGSizeMake(1,1), false, 0) UIColor.clearColor().setFill() UIRectFill(rect) var blankImg: UIImage = UIGraphicsGetImageFromCurrentImageContext() UIGraphicsEndImageContext() sli.setThumbImage(blankImg, forState: .Normal)


Intentaría subclasificar UISlider y anular -thumbRectForBounds:trackRect:value: para devolver NSZeroRect. Si eso no lo hace, intente anular -thumbImageForState: para devolver nil.


La forma más sencilla es simplemente configurar el color del Tinte del pulgar en Claro en el Creador de interfaces, como ...

Voila!


Una solución de línea:

[_slider setThumbImage:[UIImage new] forState:UIControlStateNormal];