Ich habe eine benutzerdefinierte UIViewController und eine entsprechende Ansicht in einer NIB-Datei. Die Ansicht wird dem UIWindow direkt hinzugefügt.Interface Builder: Größe der Ansicht von NIB
[window addSubview:customViewController.view];
Größen des Fensters und der Ansicht sind Standard ( 480x320 und 460x320 entsprechend).
Als ich CustomViewController in der Nib-Datei erstellen und überprüfen „Größe ändern Ansicht von NIB“ in IB Registerkarte Attribute alles gut funktioniert.
Aber wenn ich CustomViewController programmmatically mit initWithNibName Nachricht erstellen wird die Ansicht nicht korrekt auf dem Fenster positioniert. Unten ist ein leerer Streifen. Seine Höhe beträgt 20px. Ich sehe es wegen der Statusleiste Offset.
IB behandelt, dass mit "Größe von NIB anzeigen". Wie programmiere ich das?
Es scheint, dass IB einige benutzerdefinierte Unterklasse von UIViewController verwendet. Also die Frage: Wie ist dort "Resize View From NIB" implementiert?
Versucht, aber es funktioniert nicht für mich. Derselbe Streifen am unteren Rand erscheint. – alexey
[[Selbstansicht] setFrame: CGRectMake (0, 20, 320, 480)]; Das funktioniert, aber sieht aus wie eine Art von Hardcoding. [[UIScreen mainScreen] Grenzen]] gibt (0, 0, 320, 480) zurück. – alexey
Sie sollten stattdessen ApplicationFrame verwenden: self.view.frame = {CGPointZero, [UIScreen mainScreen] .applicationFrame.size]}; – Francescu