Die UISearchBar verhält sich in iOS 11 anders als in iOS 10 und darunter.
Ich habe die Größe irgendwie mit diesem Code "korrigiert":
if #available(iOS 11.0, *) {
searchBar.heightAnchor.constraint(equalToConstant: 44).isActive = true
}
Aber ich kann die Animation nicht reparieren. Irgendwelche Ideen, außer die Suchleiste manuell per Push zu animieren?
UIView.animate(withDuration: 0.3, animations: { [weak self] in
guard let strongSelf = self else { return }
strongSelf.searchBar.alpha = 0.0
})
Sehen Sie ein Video des kaputten Animationseffekts hier .
Antworten finden Sie in UIPercentDrivenInteractiveTransition . Es wird zur Aktualisierung von UIViews während des UINavigationController-Übergangs in persentage value verwendet.
Mit anderen Worten, hängt davon ab, wie viel UINavigationController bereits geöffnete Next-View-Controller oder Rückwärtsansicht-Ansichten hat.
Dieser Wert hilft Ihnen, Ihre Suchleiste zu aktualisieren (Alpha, Breite usw.).
Packen Sie es einfach mit einer UIView ein und die Animation kommt zurück.