2017-08-03 1 views
0

J'essaie de mettre un uiview sur le contrôleur de vue principale. La façon dont je le fais, ressemble à ceci (la vue rouge est la vue, et le noir est le contrôleur principal de vue) enter image description hereHauteur incorrecte d'un uiview

Mais je veux que ça ressemble à ça ... enter image description here

Ceci est le code que j'ai essayé (le « viewww » est le point de vue rouge)

viewww = UIView(frame: CGRect(x: 0, y: 0, width: self.view.frame.width, height: self.view.frame.height - navBar.frame.height)) 

Ce que je veux est d'avoir un espace dans la partie supérieure (la hauteur d'une barre de navigation) et non dans le fond quand le "viewww" apparaît, mais je ne sais pas comment définir l'espace en haut.

Merci d'avance !!!

Répondre

2

Cela met votre point de vue vers le bas à la hauteur de la barre de navigation

viewww = UIView(frame: CGRect(x: 0, y: navBar.frame.height, width: self.view.frame.width, height: self.view.frame.height - navBar.frame.height)) 
+0

Ouais, ça a marché !!! Merci beaucoup!!! Je vais mettre votre réponse comme correcte – Edwjonn

+0

Maintenant, faites pivoter votre téléphone à 90 ° et voir si cela fonctionne. – NRitH

+0

Ouais, j'utilise aussi la mise en page automatique mais il a demandé une solution d'image ... – Phyber

0

Le propre façon de faire, sans hauteur de la barre de navigation codage en dur, est d'utiliser autolayout. Contraindre les bords leading et trailing de la vue, et contraindre les bords top et bottom de la vue au guide de mise en page supérieur et au guide de mise en page inférieur (ou, si vous utilisez iOS 11, aux bords de la zone de sécurité). Voir https://useyourloaf.com/blog/safe-area-layout-guide/ pour une explication plus complète.