2017-09-04 7 views
9

Die UISearchBar verhält sich in iOS 11 anders als in iOS 10 und darunter.iOS 11 UISearchBar in der Navigationsleiste

  • die Größe geändert hat
  • die Fade-Out-Animation, wenn kontrolliert eine andere Ansicht schieben fehlt

ich die Größe irgendwie mit diesem Code zu "reparieren" behandelt:

if #available(iOS 11.0, *) { 
    searchBar.heightAnchor.constraint(equalToConstant: 44).isActive = true 
} 

Aber ich kann die Animation nicht reparieren. Irgendwelche Ideen, abgesehen davon, nur die Suchleiste manuell auf Push zu animieren?

Sehen Sie ein Video des gebrochenen Animationseffekts here.

+1

Ich habe das gleiche Problem, wie hast du es behoben? – sancho

Antwort

2

Look Antwort in UIPercentDrivenInteractiveTransition. Es verwendet für Update UIViews während UINavigationController Transition in Persentage-Wert.

Andere Wörter, hängt davon ab, wie viel UINavigationController bereits den nächsten View-Controller geöffnet hat oder Rückwärtsansichten verschoben werden, haben ein anderes Aussehen.

Dieser Wert Sie Ihre Suchleiste aktualisieren helfen (alpha, Breite, etc.)

+0

Es ist die richtigste und einfachste Art, solche Dinge zu verwalten. Sie finden viele Beispiele im Internet. Entschuldigung, ich habe keinen Code vorbereitet, weil ich diesen langen Scince gemacht habe und viel Code für iOS 10+ gelenkt werden könnte. – ObranS

+0

Von deiner Antwort ist es nicht offensichtlich, wie man Animation zu UISearchBar hinzufügt. – user1561346

+0

Das scheint eine gute Antwort zu sein, aber ich habe keine Ahnung, wie es geht. – Alex

3

Sie es einfach mit einem UIView wickeln, und die Animation kommt zurück.

+1

Dann verschwindet die UIView vollständig. Muss ich die Größen dafür angeben? – Sti

+0

@ awuu, ich habe eine ähnliche Frage in iOS11, wenn ich eine UISearchBar als titleView benutze, und wenn ich diesen Controller herausbringe, wird der ViewController jetzt ein wenig Abstand von der Navigationsleiste zeigen, und wenn ich das tue, wie du gesagt hast , wickeln Sie die Suchleiste in Sicht und dann diese Ansicht als titleView, dieses Problem wird nicht passieren, aber ich frage mich immer noch, warum ist das passiert? – ximmyxiao

+0

@Sti ja. Auto-Layout wird das tun. – awuu

Verwandte Themen