2017-08-03 26 views
0

Ich versuche, eine Übersicht über die Hauptansicht Controller. Die Art, wie ich es mache, sieht wie folgt aus (die rote Ansicht der Ansicht ist, und die schwarze ist die Hauptansicht-Controller) enter image description hereFalsche Höhe einer uiview

Aber ich will es so aussehen ... enter image description here

Dies ist der Code, den ich versucht habe (die „viewww“ ist die rote Ansicht)

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

Was ich will, ist einen Raum in der Spitze zu haben (die Höhe eines navbar) und nicht im Boden, wenn Der "viewww" erscheint, aber ich weiß nicht, wie ich den Platz oben einstellen soll.

Vielen Dank im Voraus !!!

Antwort

2

Damit ist Ihre Ansicht nach unten auf die Höhe des navBar

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

Ja, es hat funktioniert !!! Ich danke dir sehr!!! Ich werde Ihre Antwort als richtig setzen – Edwjonn

+0

Jetzt drehen Sie Ihr Handy um 90 ° und sehen, ob es funktioniert. – NRitH

+0

Ja, ich benutze auch Auto-Layout, aber er fragte nach Frame-Lösung ... – Phyber

0

Der saubersten Weg, dies zu tun, ohne Hartcodierung Navigationsleiste Höhen, ist automatisches Layout zu verwenden. Beschränken Sie die Kanten der Ansicht leading und trailing auf die Superview und beschränken Sie die Kanten der Ansicht top und bottom auf die obere Layout-Anleitung und untere Layout-Anleitung (oder, wenn Sie iOS 11 verwenden, die Safe Area Kanten). Eine ausführlichere Erklärung finden Sie unter https://useyourloaf.com/blog/safe-area-layout-guide/.

Verwandte Themen