Personalizar el aspecto de UISlider

Para personalizar el aspecto visual de un UISlider, puede configurar el pulgar y realizar un seguimiento de las imágenes. Parte de las imágenes de la pista se estiran a la forma adecuada. De la documentation:

Una región estirable se encuentra entre dos regiones de extremo de la tapa. Las tapas finales definen las partes de la image que permanecen tal como están y no se estiran. La región estirable es un área de 1 punto de ancho entre las tapas de los extremos que se puede replicar para que la image parezca más larga.

Ahora el problema que tengo es que mi región estirable debe tener más de 1 punto de ancho. (Es un patrón) Desafortunadamente, el ancho de 1 punto parece estar codificado en el SDK.

Alguien que tenga una idea de cómo solucionar esto? ¿O tendré que escribir mi propio control deslizante desde cero para esto?

Creo que tendrás que escribir tu propio control deslizante para hacerlo. Parece que no hay una API (pública) para cambiar el comportamiento de UISlider con respecto a la región estirable.

Simplemente use imágenes transparentes como imágenes de seguimiento, y coloque una UIImageView a continuación 🙂

Sé que es una respuesta tardía.

Pero resolví el problema como el siguiente:

4 es el ancho de la tapa networkingonda en el file png.

 UIImage *minimum = [UIImage imageNamed:@"slider_minimum.png"]; [slider setMinimumTrackImage:[minimum stretchableImageWithLeftCapWidth:4 topCapHeight:0] forState:UIControlStateNormal]; 

Podría simplemente crear las imágenes para que sean tan amplias como las necesite, con el patrón pre-renderizado.

Debe inicializar su image con stretchableImageWithLeftCapWidth: topCapHeight :. leftCapWidth y topCapHeight son properties de solo lectura en objects de image, pero con esa function puede configurarlas. Solo establece el lado izquierdo y el lado superior porque las partes izquierda y derecha tienen el mismo tamaño, y las partes superior e inferior también son iguales. Por lo tanto, para usar una pista deslizante personalizada con un tamaño del lado izquierdo de 5 píxeles, debe tener una image de 11 píxeles de ancho, por la altura que necesite: 5 para la tapa izquierda, 1 píxel de ancho que se extiende para la pista, y 5 más por la derecha. Después de no haber jugado con él, no sé si usar un topCapHeight mayor que 0 funciona como se esperaba, pero sospecho que no causaría muchos problemas.

Quería un patrón detrás de mi UISlider. Terminé configurando ambas imágenes a cero y añadiendo una vista debajo del control deslizante, ya que no necesitaba que fuera diferente a cada lado del pulgar. Esto sería más difícil si tuviera que cambiarlo según la position, pero bastante factible.

para hacer que su UISlider personalizado tenga muchas forms. Según la personalización que desee. hay properties pnetworkingeterminadas que puede establecer para personalizar su UIslider, como el siguiente: setThumbImage: forState: setMinimumTrackImage: forState: setMaximumTrackImage: forState: si desea más personalización, puede consultar el siguiente enlace https://medium.com/@0209neha/creating -a-custom-uislider-7756bf898832 # .o1l4qhymo https://github.com/0209Neha/ExploringSlider