J'ai une question simple, comment puis-je trouver la hauteur du contrôleur de vue par programmation quand je l'ai réglé sur forme libre?
Je veux faire quelque chose comme:
let viewControllerHeight = viewController.contentSize.height
Aussi, comment puis-je publier une image ici sans que ce soit un lien?
4 Réponses :
La hauteur de UIViewController
n'existe pas car cette classe n'est qu'un CONTRÔLEUR d'une vue. Vous pouvez obtenir la hauteur de sa vue d'une manière très simple
let height = viewController.view.frame.size.height
Veuillez noter que cette valeur peut être incorrecte dans viewDidLoad
et que vous devrez la vérifier plus tard. En savoir plus
Essayez ce code:
let viewControllerHeight = viewController.view.frame.size.height
La taille simulée affecte la taille de la vue
de UIViewController
dans le Storyboard. Si vous accédez à self.view.frame.size.height
dans viewDidLoad ()
, vous verrez cette valeur. Une fois la vue affichée, dans viewDidAppear ()
, le cadre
de la vue sera ajusté en fonction de la taille de l'écran et de l'orientation de l'appareil sur lequel votre application s'exécute.
Tant que vous n'avez pas suffisamment de représentants, vos photos s'affichent sous forme de liens. Vous pouvez résoudre ce problème en modifiant votre question ou votre réponse et en ajoutant un !
avant l'utilisation du lien, comme je l'ai fait pour votre question.
En fait, la hauteur de la zone de sécurité correspond à la hauteur de votre viewController. Vous pouvez donc le trouver comme ceci
let guide = self.view.safeAreaLayoutGuide let height = guide.layoutFrame.size.height
Veuillez jeter un œil sur ce lien
Après avoir gagné plus de réputation, vous débloquez l'avantage d'attachement d'image
self.view.frame.height