Ich weiß nicht warum, meine Suchleiste in iOS 7 hinterlässt einen richtigen Platz. Es ist in iOS 6 in Ordnung.
Ich weiß, dass es etwas mit dem Abschnittsindex zu tun hat, denn wenn ich es entferne, verschwindet der Platz, aber ich weiß nicht, wie ich ihn beheben soll. Irgendwelche Gedanken?
Betten Sie Ihre UISearchBar in eine UIView ein und fügen Sie diese als tableHeaderView hinzu. Die Strukturierung in einem Storyboard funktionierte für mich. Ich nehme an, dass iOS die UISearchBar in der tableHeaderView ändert, aber eine grundlegende UIView-Datei allein lässt (und sich nicht darum kümmert, in sie hineinzuschauen).
Vielleicht möchten Sie auch den Sektionsindex transparent machen, was ich gemacht habe mit:
%Vor%Ich hatte das gleiche Problem mit dem iPhone 6 / 6Plus, wenn ich einen SearchDisplayController verwende. (Mit Swift)
Ich habe versucht, den Rahmen der Suchleiste zu setzen, aber ohne Glück, aber mir ist aufgefallen, dass wenn ich auf das Textfeld der UISearchBar geklickt habe und es dann abgebrochen habe, würde es die richtige Größe der Ansicht annehmen. Ich habe es also geschafft, das Problem zu beheben, indem ich den Code unten in ViewDidLoad des viewController mit der Suche aufrufen.
%Vor%Der Grund für diese weiße Kante liegt darin, dass Ihre Indexebene einen weißen Hintergrund hat und über der Suchleiste liegt. Dies sollte ausreichen.
Da die Tabellenansicht immer 15 Pixel rechts im Abschnitt Indexansicht enthält, sollten Sie die Suchleiste nach dem erneuten Laden der Tabellenansicht anpassen
Erstens:
%Vor%Betrügerische Zeit:
%Vor%Schlagen Sie vor Betrüge nicht wie ich, mach einfach den einfacheren Weg:
%Vor% Ich habe auch eine UISearcBar
in meiner Anwendung angehängt, und nichts ist falsch, sogar meine Anwendung unterstützt auch die Rotation.
Könnten Sie versuchen, UISearchBar
in storyboard/xib
Ich habe die Suchleiste als Unteransicht der Ansicht der obersten Ebene anstelle der Tabellenansicht hinzugefügt. Verwendet automatisches Layout, um die Suchleiste an die obere Hilfslinie anzuhängen, und eine vertikale Leerraumbeschränkung von 0 zwischen der Suchleiste und der Tabellenansicht.
Die akzeptierte Lösung mit der Methode viewDidLayoutSubviews
lässt den Bildschirm flackern.
Stattdessen habe ich eine Unterklasse von UISearchBar
erstellt, die das einfach macht:
FullWidthSearchBar.h:
%Vor%FullWidthSearchBar.m:
%Vor%Und dann habe ich diese Klasse der Suchleiste auf meinem xib zugewiesen:
Tags und Links objective-c ios uisearchbar ios7