J'ai un UIView dans ma super vue.J'ai défini des contraintes.Maintenant, je veux que la taille de la vue soit différente sur différents appareils.Si je règle la largeur et la hauteur du correctif, le résultat obtenu est incorrect.J'ai essayé rapport hauteur/largeur mais qui rendent une vue trop grande ou trop petite sur plusieurs appareils.
Je souhaite que la hauteur et la largeur augmentent proportionnellement au même aspect que tous les appareils.Je souhaite une hauteur et une largeur variables de la vue.Veuillez indiquer comment procéder.
Voici l'image
Merci d'avance
Utilisez les classes de taille. Il est utile d’avoir différents paramètres pour différents appareils. http://www.raywenderlich.com/83276/beginning-adaptive-layout-tutorialhttps://youtu.be/IwSTXY0awng?t=2m12s
Le moyen le plus simple consiste à créer une prise de votre contrainte width
et height
.
Puis changez-le dynamiquement dans viewDidLoad
en fonction du téléphone.
Pour vérifier quel téléphone vous pouvez vérifier la hauteur de l'appareil, par exemple 480
pour iPhone 4S, 568
pour iPhone 5,5S, etc.
@interface ScoreListViewController (){
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *widthConstraint;
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *heightConstraint;
@end
- (void)viewDidLoad {
[super viewDidLoad];
// Set the value according to your requirement
if(4S){
self.heightConstraint.constant=100;
}
}
Essayez de suivre les captures d’écran ci-dessous:
Vous obtiendrez le résultat ci-dessous
J'ai écrit un blog article sur l'autolayouting pour changer de mise en page de manière dynamique.
Pour chaque taille d’écran, vous pouvez ajouter par programme les contraintes.
Algorithme
Changement selon l’orientation