2011-11-14 9 views
23

Estoy personalizando un UISlider para mi aplicación. Quiero que el deslizador esté en orientación vertical, pero el valor predeterminado UISlider está en orientación horizontal. No pude encontrar cómo cambiar la orientación de UISlider.¿Cómo cambiar el UISlider a Vertical?

¿Cómo puedo hacer un control deslizante vertical en XCode?

Respuesta

49

De forma predeterminada, un UISlider es horizontal (-). Si desea hacerlo vertical (|), debe hacerlo programáticamente, probablemente con un CGAffineTransform. Por ejemplo, puede agregar este fragmento a viewDidLoad o donde quiera que consideren apropiadas:

CGAffineTransform trans = CGAffineTransformMakeRotation(M_PI_2); 
slider.transform = trans; 
+0

Hola trabajo de TI, pero un problema que quiero Parte superior está abajo Parte es entender superior –

+1

hardik, simplemente invierta la rotación. es decir 'CGAffineTransformMakeRotation (-M_PI_2)' – izzy

2

Si estás usando los diseños de automóviles:

En su viewDidLoad, intente:

UIView *superView = self.sizeSlider.superview; 
[self.sizeSlider removeFromSuperview]; 
[self.sizeSlider removeConstraints:self.view.constraints]; 
self.sizeSlider.translatesAutoresizingMaskIntoConstraints = YES; 
self.sizeSlider.transform = CGAffineTransformMakeRotation(M_PI_2); 
[superView addSubview:self.sizeSlider]; 

lo hace no funciona con restricciones, por lo que el truco es eliminar las restricciones para su uislider. Es posible que tenga que cambiar el tamaño manualmente configurando la propiedad de marco.

1

que tenía un problema con:

CGAffineTransform trans = CGAffineTransformMakeRotation(M_PI_2); 
slider.transform = trans; 

porque tenía el código en el método viewDidLoad. En cambio, puse el código en ViewDidAppear y funcionó bien.

Editar: no tiene que estar en el ViewDidAppear, ViewDidLoad funciona bien también (incluso mejor). Podría desactivar el cambio de tamaño automático o establecer una restricción para el control deslizante que está girando para que el tamaño no cambie después de la rotación.

Cuestiones relacionadas