So wenden Sie den oberen Versatz für die Statusleiste in iOS7 nur für untergeordnete UITabBarController-Elemente an

Meine App ist eine UITabBarController-basierte App mit 3 vc-Kindern. Die Statusleiste überschneidet sich mit meinen Viewcontrollern. Ich habe alles ausprobiert, was ich in SO gefunden habe:

Ich habe versucht, dies zu meinem AppDelegate hinzuzufügen:

// Nach unten versetzt, um Platz für die Statusleiste zu schaffen self.window.bounds = CGRectMake (0, -20, self.window.frame.size.width, self.window.frame.size.height);

Es funktionierte, weil der gesamte UITabBarController um 20 nach unten verschoben wurde. Dies führte jedoch dazu, dass die Registerkarten unten um -20 abgeschnitten wurden.

Ich denke also, ich möchte den Effekt nur auf die UIViewController in jeder Registerkarte anwenden, da am unteren Rand nicht viel abgeschnitten werden muss.

Also habe ich versucht, der viewDidLoad ähnlichen Code hinzuzufügen und danach setNeedsDisplay aufzurufen:

self.view.bounds = CGRectMake (0, -20, self.view.frame.size.width, self.view.frame.size.height);

Dies hat aber keinerlei Auswirkung, es kommt immer noch zu Überlappungen.

Ich habe versucht, dies zu viewDidLoad hinzuzufügen

self.edgesForExtendedLayout = UIRectEdgeNone;

und ich habe auch die Option "Kanten unter oberen Leisten verlängern" deaktiviert, sie wird jedoch weiterhin in der Statusleiste angezeigt. Auch versucht:

if ([self respondsToSelector:@selector(edgesForExtendedLayout)])
 {
    self.edgesForExtendedLayout = UIRectEdgeNone;
 }

aber keine Zigarre.

Ich habe keine Deltas, weil ich AL benutze.

Ich möchte meine Statusleiste nicht AUSBLENDEN, da sie Öffnungs- / Schließzeiten anzeigt, sodass es für den Benutzer praktisch ist, die Uhrzeit anzuzeigen.

Ich denke, die Ansicht in jedem Viewcontroller, der sie benötigt, etwas nach unten zu verschieben, ist die beste Option, aber warum hat mein Code nicht für # 2 funktioniert?

(Übrigens: Ich bin mir nicht sicher, warum das Code-Format nicht funktioniert und die Nummerierung deaktiviert ist, auch wenn ich versuche, es zu bearbeiten, scheint es in der Bearbeitungsansicht gut zu funktionieren, aber nicht in der Vorschau oder Live-Ansicht.)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage