Ich habe eine UITableView
, die eine UISearchBar
Subview hat. Dies ist alles auf der Ansicht eines UIViewController
zusammen mit ein paar anderen Unteransichten (Etiketten, Textfelder und dergleichen).UISearchBar auf UITableView seltsames Offset-Problem
Die Suchleiste und der Inhaltsoffset der Tabelle verhalten sich ziemlich merkwürdig, aber es scheint abhängig von der Reihenfolge, in der diese Ansichten der Hauptansicht in der Xib hinzugefügt werden. Ich habe ein Beispielprojekt mit nur meiner Tabelle/Suche und einem Label erstellt, um zu testen, und das Ergebnis ist das gleiche. Wenn der Tisch nach das Etikett hinzugefügt wird, funktioniert alles einwandfrei:
Setup:
Correct und Erwartetes Ergebnis:
jedoch, wenn ich Ändern Sie einfach die Reihenfolge, in der meine 2 Unteransichten auf der Hauptansicht sitzen (aka Tabelle hinzugefügt vor das Etikett) dann beginnen seltsame Dinge zu passieren.
offenbar schlecht Setup:
Sonderbare Offset von Search Bar:
Ich bin nichts anderes überhaupt zu ändern, also warum nicht Xcode scheint die Ordnung zu sorgen Diese Subviews werden zur Hauptansicht hinzugefügt ?? Wenn ich die "schlechte" Tabellenkonfiguration nach oben scrolle, verschwindet die Suchleiste sofort an der oberen Kante, aber der Inhalt der Tabelle wird weiter nach oben scrollen, bis sie den oberen Rand des Rahmens erreicht, der in der xib gesetzt wurde. Scrollen Sie zurück nach unten und die Suchleiste erscheint nicht wieder bis zum merkwürdig abgesenkten Standort. Dies ist in Xcode 5.1.1, nicht in der neuen Beta. Das Ergebnis ist dasselbe mit oder ohne Autolayout.
Eine Idee, warum das passiert? Ist das ein Fehler, oder fehlt mir etwas? (Ich habe keinen Code gepostet, weil ich nur die Anzahl der Abschnitte, Zeilen und den Text auf der Zelle festlege. Nicht mit Inhaltseinfügungen, Offset, irgendetwas. Ich lade die Ansicht vom App-Delegaten als die Wurzel eines Nav-Controllers)
Bitte fügen Sie SearchBar auf TableViewCell oder TableView HeaderView hinzu. –