Chaque fois que j'ajoute des contraintes à la hauteur et à la largeur de mon UILabel, le texte passe ensuite en haut du contrôleur.
Comment puis-je verticalement centrer le UILabel dans le ViewController?
cliquez sur le bouton Aligner dans la barre d'outils inférieure dans IB, puis sélectionnez Centre horizontal ou vertical. Tout d’abord, vous voudrez peut-être fixer la largeur et la hauteur si vous souhaitez conserver la taille.
Pour une explication de pourquoi cela se produit:
Chaque fois que vous ajoutez des contraintes à une vue dans le générateur d'interface, vous indiquez à IB que vous souhaitez activer la présentation automatique. Vous devez maintenant prendre le contrôle intégral de la présentation. Si vous voyez l'étiquette en haut de la vue d'ensemble, c'est parce que vous n'avez ajouté aucune contrainte déterminant l'emplacement de l'étiquette dans la vue d'ensemble. Voir la réponse de mohacs sur la façon d'ajouter les contraintes.
Au cas où quelqu'un aurait encore besoin de ça, voici comment procéder par programmation
let centerCoordinate = self.view.frame.maxY - (self.view.frame.maxY/2.0)
label.frame = CGRectMake(centerCoordinate,
100, 50, 50)