UISearchBar überlappt die Statusleiste in iOS

Ich (genau wie jeder andere hier) bin mit den gleichen Status Bar überlappen Problem, dass alle anderen, mit einem kleinen twist, und das ist der Grund, warum ich die Eröffnung einer neuen Frage über.

Scheint es einen Mechanismus, mit dem der UISearchBar wissen, wo Sie positionieren Sie es selbst, die völlig aus dem Gleichgewicht geraten.

jaredsinclair Antwort hier (iOS 7 status bar wieder auf iOS 6 Standard-Stil in der iPhone-app?) , erklärt im detail, wie die Ingenieure von Apple dürfen wir vorstellen, die Logik unserer Anwendung, um zu mischen, so viel wie möglich mit der Umgebung des Benutzers.

Ging ich durch den Prozess sorgfältig untersuchen jedes UIViewController in meiner Anwendung, und die geringste änderung möglich.

In den meisten Fällen konnte ich das problem beheben, mithilfe des folgenden Codes die ich gefunden habe über mehrere SO Antworten

//Do any additional setup after loading the view.
if ([self respondsToSelector:@selector(edgesForExtendedLayout)]){
    self.edgesForExtendedLayout = UIRectEdgeNone;
}

Diese jedoch nicht funktionieren würde, egal, was ich Tue, in einer bestimmten zu sehen, wo sich die UINavigationBar ausgeblendet.

UISearchBar überlappt die Statusleiste in iOS

Basiert auf der Lösung gefunden, auf einen SO war ich in der Lage, dieses Problem zu lösen, indem die folgende Logik, um diese Besondere UIViewController

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) {
    CGRect statusBarFrame =  [[UIApplication sharedApplication] statusBarFrame];
    viewFrame.origin.y = viewFrame.origin.y+statusBarFrame.size.height;
}

Dieser schiebt den UIViewController n Pixel nach unten "je" auf der Höhe der Statusleiste.

Den Effekt von dieser Karte hier

UISearchBar überlappt die Statusleiste in iOS

Das problem ist, dass wenn ich das Suche Feld den UISearchBar fügt von selbst eine 20px Polsterung auf der Oberseite, die offsets der gesamten Benutzeroberfläche.

UISearchBar überlappt die Statusleiste in iOS

Dies führt mich zu dem Schluss, dass die UISearchBar versucht, passen Sie selbst, und durch Zufall, es stellt sich genau die gleiche Menge wie der status bar die Höhe.

Wenn ich nicht hack die position, sobald ich in die Suche Feld, dann diese automatische Anpassung richtet die UISearchBar ordentlich unter der status bar.

Ich hoffe, ich habe detaillierte meiner Verwirrung, ich Frage mich, ob jemand irgendwelche Ideen hat, hin zu einer Lösung.

InformationsquelleAutor der Frage Fotis Paraskevopoulos | 2013-09-24

Schreibe einen Kommentar