Je veux mettre Uislider dans verticaly.Je n'ai aucune idée à ce sujet. Alors, aidez-moi, s'il vous plaît.
Réponses
Trop de publicités? Vous devez faire cette programmation. En supposant que votre UISlider est lié à une variable appelée slider
, ajoutez ce code dans votre méthode viewDidLoad dans ViewController.m:
- (void)viewDidLoad {
[super viewDidLoad];
CGAffineTransform trans = CGAffineTransformMakeRotation(M_PI * 0.5);
slider.transform = trans;
}
Faites-moi savoir si vous avez besoin d'aide supplémentaire à ce sujet ..
Comme de Xcode 4.2, vous pouvez trier de faire de même dans Interface Builder.
- Créer un curseur
- Spectacle "l'Identité de l'Inspecteur"
- Ajouter un "Défini par l'Utilisateur d'Exécution de l'Attribut"
- Définissez la clé de la "couche.transformer.de rotation.z", le type
"String" ("Nombre"ne permet pas de valeurs à virgule flottante)(possible depuis Xcode 5) et la valeur "-1.570795" (-π/2).
Malheureusement, il apparaîtra toujours à l'horizontale dans Interface Builder.
Mais vous pouvez positionner le centre et n'ont pas besoin de créer une classe personnalisée, de sorte qu'il pourrait être assez utile dans certains cas. L'effet est le même que ravinsp du code.
Si vous travaillez avec des mises en page automatiques:
Dans votre viewDidLoad, essayez:
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];
Cela ne fonctionne pas avec des contraintes, le truc est donc de supprimer les contraintes pour votre utilisateur. Vous devrez peut-être le redimensionner manuellement en définissant sa propriété frame.