¿Es posible configurar UISwitches y UISliders verticalmente en lugar de horizontalmente?UISliders verticales y UISwitches
Respuesta
Si bien no es una buena idea modificar los controles estándar de iOS como UISlider o UISwitch, es muy fácil escribir su propio UIControl personalizado. Ver la publicación "Diagonal Slider" de Mike Ash
Esos controles no tienen una opción de orientación vertical incorporada. Es posible que pueda rotarlos simplemente aplicando una transformación adecuada, pero probablemente no sea un buen plan si espera distribuir su aplicación a través de la tienda de aplicaciones. Consulte la sección 10.3 de las Pautas de revisión de la tienda de aplicaciones, que le informa que corre el riesgo de ser rechazado por el uso indebido de los controles estándar.
Como dijo Caleb, puede violar la directriz. Pero no estoy seguro de eso.
Si realmente desea cambiar el aquí es una muestra,
urSlider.transform=CGAffineTransformRotate(urSlider.transform,270.0/180*M_PI);
El código va a cambiar la posición de la corredera de horizontal a vertical.Same como esto se puede hacer por UISwitch.
necesita asegurarse de que la casilla de verificación "Usar ajuste automático" esté desmarcada en "Inspector de archivos" –
Intenté usar UISlider verticalmente con CGAffineTransformation (Configurado a 90 grados) .. Pero no funciona. Funciona hasta 45 grados. Así que mi suposición es que UISlider no está hecho para detectar movimiento de deslizamiento de dedo vertical.
. ¿Sabe que CGAffineTransforms funciona utilizando unidades radian en lugar de grados? En lugar de una transformación de 90 grados, elige π/2 con tu unidad. Por si acaso: http://en.wikipedia.org/wiki/Radian#Conversions –
Estoy buscando hacer lo mismo. Desde el Apple Developer Site iOS UI Element Usage Guidelines:
deslizante
apariencia y el comportamiento
Un control deslizante consiste en una pista y un pulgar (un control circular que el usuario puede deslizar) y las imágenes opcionales que transmiten el significado de la derecha y valores de izquierda. Cuando las personas arrastran el dedo pulgar a lo largo del control deslizante, el valor o proceso se actualiza continuamente y se muestra en la pista.
Directrices
Utilice un control deslizante para dar a los usuarios un control preciso sobre los valores que se pueden elegir o el funcionamiento del proceso actual.
Si corresponde, personalice la apariencia de un control deslizante. Por ejemplo, puede hacer cualquiera de los siguientes:
Muestre un control deslizante ya sea horizontal o verticalmente.
Establezca el ancho de un control deslizante para que quepa con la interfaz de usuario de su aplicación.
Defina la apariencia del pulgar, para que los usuarios puedan ver de un vistazo si el control deslizante está activo.
Proporcione imágenes para que aparezcan en ambos extremos del control deslizante para ayudar a los usuarios a comprender lo que hace el control deslizante. Típicamente, estas imágenes personalizadas corresponden a los valores mínimo y máximo del rango de valores que controla el control deslizante. Un control deslizante que controla el tamaño de fuente, por ejemplo, podría mostrar un carácter muy pequeño en el extremo mínimo y un carácter muy grande en el extremo máximo.
Defina una apariencia diferente para la pista, dependiendo de qué lado del pulgar esté y en qué estado se encuentre el control.
Parece que no hay prohibiciones para cambiar interruptores, steppers y controles segmentados. Sin embargo, el permiso no parece otorgarse explícitamente para esos controles.
Para hacer un control deslizante verticalmente prueba este
UISlider *slider = [[UISlider alloc] initWithFrame:CGRectMake(200, 270, 160, 30)];
CGAffineTransform sliderRotation = CGAffineTransformIdentity;
sliderRotation = CGAffineTransformRotate(sliderRotation,-(M_PI/2));
slider.transform = sliderRotation;
[self.view addSubview:slider];
- 1. Gestos verticales y horizontales en Android
- 2. Encabezados verticales y horizontales en una tabla?
- 3. histograma sin líneas verticales
- 4. Pestañas verticales con JQuery?
- 5. Encabezados verticales en JTable?
- 6. eliminando espacio entre divisiones verticales
- 7. ¿Puedo usar UIPinchGestureRecognizers para distinguir entre pellizcos horizontales y verticales?
- 8. Multiplicando números en líneas horizontales, verticales y diagonales
- 9. Trazado de líneas horizontales y verticales en Mathematica
- 10. Barras de desplazamiento verticales y horizontales en el widget Tkinter
- 11. Analog ViewPager para paginación a horizontales y verticales
- 12. mostrar líneas verticales y líneas horizontales en los trazados
- 13. cabeceras verticales en tablas reStructuredText
- 14. Eliminar líneas verticales en jqGrid
- 15. Sombreado entre líneas verticales en MATLAB
- 16. jQPlot - eliminar líneas de cuadrícula verticales
- 17. ZedGraph líneas verticales con LineObj issue
- 18. "Minimizar" divisiones verticales de ventanas VIM
- 19. Barras de desplazamiento verticales con window.open
- 20. Elipse limitante limitada a ejes horizontales/verticales
- 21. TABLA sin bordes de celda verticales
- 22. Flotantes alineados verticales en el punto decimal
- 23. Deshabilitar rebotes verticales de UITableView al desplazarse
- 24. ¿Cómo crear pestañas verticales en Java?
- 25. ¿Cómo editar en el lugar en una UITableView?
- 26. Problema de actualización con WPF .NET 4.0 - líneas verticales negras
- 27. ¿Cómo eliminar/ocultar barras de desplazamiento verticales y horizontales del editor de eclipse?
- 28. Práctica recomendada para manejar pestañas verticales y otros caracteres xml no válidos
- 29. fuentes personalizadas con diferentes métricas verticales entre OS
- 30. clearRect no borra el lienzo al dibujar líneas verticales
Es bastante común para girar ciertos controles como el UISlider y UISwitch, especialmente el control deslizante. Wish Apple tenía una incorporada para facilitar el diseño automático. –