2017-09-10 1 views
0

Ich habe die folgende Szene in der Schnittstelle Builder.UIVIew Größe verwenden Gerätegröße in Interface Builder und keine Einschränkung

enter image description here

und der folgende Code in der viewDidLoad Funktion des Controllers

print(String.init(format:"baseCircleView width %f height %f", baseCircleView.bounds.size.width, baseCircleView.bounds.size.height)) 
print(String.init(format:"userDrawingView width %f height %f", userDrawingView.bounds.size.width, userDrawingView.bounds.size.height)) 
print(String.init(format:"View width %f height %f", self.view.bounds.size.width, self.view.bounds.size.height)) 

Wenn ich die app (auf dem iPhone6 ​​Simulator starten, aber mit "Darstellung als: iPhone SE" im Storyboard ausgewählt) habe ich in der Konsole die folgenden:

baseCircleView Breite 320,000000 Höhe 504,000000

userDrawingView Breite 320,000000 Höhe 504,000000

Ansicht Breite 375,000000 Höhe 667,000000

Ich verstehe nicht, warum ihre Größen aus dem Gerät meiner 2 Ansichten schließen „Darstellung als: iPhone SE“ im Storyboard ausgewählt und nicht ihre Superblick.

Kann mir jemand helfen herauszufinden, was los ist?

Antwort

2

Sie sollten Ihre Einschränkungen in viewDidLayoutSubviews testen.

Hier ist ein Blog-Post für zusätzliche Informationen über UIViewController Lebenszyklus: https://blog.caramba.io/ios-uiviewcontroller-lifecycle-261e3e2f6133

+1

Vielen Dank, ich gefunden, was falsch war. Ich hätte das Zeichnen meiner Unteransichten in der Funktion viewDidLayoutSubviews statt viewDidLoad durchführen sollen –

Verwandte Themen