Voglio mettere UISlider
in verticale. Non ne ho idea, quindi per favore aiutami per questo.come mettere UISlider verticale?
risposta
È necessario eseguire questa operazione in modo programmatico. Assumendo che l'UISlider è associato a una variabile chiamata slider
, aggiungere questo codice nel tuo metodo di viewDidLoad in ViewController.m:
- (void)viewDidLoad {
[super viewDidLoad];
CGAffineTransform trans = CGAffineTransformMakeRotation(M_PI * 0.5);
slider.transform = trans;
}
Fatemi sapere se avete bisogno di più aiuto su questo ..
Ciò pone la fine del valore minimo in alto. Utilizzare M_PI * -0.5 per posizionare la fine del valore minimo nella parte inferiore. –
Nota utile. Questo è lo scenario più comune. Grazie chrispix. – ravinsp
È inoltre possibile utilizzare -M_PI_2 –
Come di Xcode 4.2, è possibile ordinare in Interface Builder.
- Creare uno slider
- mostrare il "ispettore identità"
- Aggiungere un "User Defined Attribute Runtime"
- Impostare il percorso chiave per "layer.transform.rotation.z", il tipo come
"String" ("Numero"non consente valori in virgola mobile)(possibile poiché Xcode 5) e il valore su "-1.570795" (-π/2).
Sfortunatamente, apparirà ancora orizzontale in Interface Builder.
Ma è possibile posizionare il centro e non è necessario creare una classe personalizzata, quindi in alcuni casi potrebbe essere utile. L'effetto è lo stesso del codice di Ravinsp.
In realtà puoi mettere il float in Numero con una virgola (invece di un punto). – user500
Molto più pulito rispetto alla risposta accettata, basata su codice, IMHO. – user1021430
Nel caso in cui si lavora con i layout auto:
Nella tua viewDidLoad, provare:
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];
Non funziona con i vincoli, in modo che il trucco è quello di rimuovere i vincoli per il vostro uislider. Potrebbe essere necessario ridimensionarlo manualmente impostando la sua proprietà frame.
Swift 3:
slider.transform = slider.transform.rotated(by: CGFloat(0.5 * Float.pi))
// Usa 1.5 Per invertire l'ombra del cursore se si desidera
- 1. Come modificare UISlider in verticale?
- 2. Come posso creare un UISlider verticale?
- 3. UILabel Over UISlider Thumb
- 4. Eventi UISlider
- 5. UISlider personalizzato come l'app Musica
- 6. Come creare un iPod UISlider
- 7. Problema gestuale: UISwipeGestureRecognizer + UISlider
- 8. UISlider e UIScrollView
- 9. Animate UISlider uniformemente
- 10. UISlider con differenti colori
- 11. Come posso nascondere la traccia di UISlider?
- 12. Pan gesture interferisce con UISlider
- 13. Personalizza UISlider (altezza immagine traccia)
- 14. UISlider scomparso in iOS 8.3
- 15. iOS - immagine personalizzata per UISlider
- 16. Come posso mettere una linea verticale al centro di un div?
- 17. Istogramma verticale
- 18. Come forzare l'orientamento verticale?
- 19. come rendere uniformemente verticale
- 20. come mettere l'immagine al centro della pagina html?
- 21. Avendo attivato UIControlEventValueChanged quando viene animato UISlider?
- 22. iOS 7 - UISlider thumbTIntColor non cambia
- 23. Aumenta/riduci la luminosità dell'immagine utilizzando UISlider?
- 24. iPhone UISlider con due pollici/indicatori?
- 25. UISlider traccia immagine che non si allunga
- 26. UISlider non si anima in iOS7
- 27. Perché il mio UISlider non è animato?
- 28. Avanzamento della riproduzione audio come UISlider in Swift
- 29. Come si annullano i valori min-max di UISlider?
- 30. Come modificare le dimensioni dell'immagine pollice della UISlider di programmazione
Questo è un duplicato di questa domanda ha chiesto ieri: http://stackoverflow.com/questions/ 2369926/how-can-i-make-a-vertical-uislider –