Recabamos en todo el mundo online para así regalarte la respuesta para tu problema, si continúas con alguna duda deja la inquietud y contestamos con gusto, porque estamos para servirte.
Como dice gasparuff, también puedes hacerlo con un UIButton, solo configura las imágenes:
[button setImage:[UIImage imageNamed:@"image_on"] forState:UIControlStateSelected];
[button setImage:[UIImage imageNamed:@"image_off"] forState:UIControlStateNormal];
y cuando se toca simplemente cambia la propiedad seleccionada.
- (void) buttonTap
button.selected = !button.selected;
Que cambiará las imágenes automáticamente.
No es difícil crear su propio interruptor. Un UISwitch es un control, esencialmente solo una vista que envía un mensaje, con dos estados. Puede configurar su propio control personalizado como este:
-
vista de contenedor: una vista simple con esquinas redondeadas (establezca el
cornerRadius
de la capa de la vista) y un color de fondo -
imagen izquierda: una vista de imagen que muestra la imagen que desea mostrar en el lado izquierdo, es decir, la marca de verificación para su ejemplo
-
imagen derecha: una vista de imagen que muestra la imagen que desea mostrar en el lado derecho, es decir, la marca X para su ejemplo
-
control deslizante: una vista de imagen que muestra la parte del control deslizante del interruptor, colocada encima de las otras dos vistas de imagen
Cuando el usuario toque o deslice el control, use Core Animation para mover el control deslizante al otro lado del interruptor y actualice el estado del control y haga un desvanecimiento rápido al color de fondo para el nuevo estado. Envía la acción del control al destino.