iOS / Swift - Ein- / Ausblenden von UITabBarController beim Scrollen nach unten / oben

7

Ich bin ziemlich neu in der iOS-Entwicklung. Gerade jetzt versuche ich meine Tableiste zu verstecken, wenn ich runterscrolle und beim Scrollen sollte die Tableiste erscheinen. Ich möchte das auf die gleiche Weise animiert haben wie die Navigationsleiste. Für die Navigationsleiste habe ich einfach auf die Option im Attribute Inspector geklickt. Ich habe ein paar Beispiele für die Symbolleiste gesehen, aber ich kann die Tableiste nicht übernehmen.

self.tabBarController?.tabBar.hidden = true blendet nur meine Tableiste aus, aber sie ist nicht animiert wie der Navigationscontroller.

    
Philipp B. 10.08.2015, 20:18
quelle

4 Antworten

27

Dies ist Code, den ich tatsächlich in einer Produktionsanwendung verwende.

Es ist in Schnell und aktualisiert auch UITabBar.hidden var.

%Vor%

Sie können auch die andere Callback-Methode verwenden:

%Vor%

Wenn Sie dies jedoch wählen, müssen Sie mehrere Aufrufe an die Hilfsmethode behandeln, die die tabBar tatsächlich ausblendet.

Und dann müssen Sie diese Methode hinzufügen, die das hide / show der tabBar animiert.

%Vor%

Aktualisieren Sie Swift 4

%Vor%     
Ariel Hernández Amador 10.08.2015, 23:35
quelle
4

Ausgehend von Ariels Antwort habe ich den Code für Swift3 aktualisiert. Das hat bei meiner Sammlung sehr gut funktioniert.

%Vor%     
Aidan.C 04.06.2017 15:50
quelle
3

Diese Antwort ist eine geringfügige Änderung an Ariels Antwort, die eine Animation hinzufügt, während der Benutzer scrollt.

%Vor%     
Anish 웃 24.10.2017 17:25
quelle
0

Sie können UITabBar genau steuern, indem Sie Ihre Klasse als Delegat für scrollView einrichten und das Scrollen in scrollViewDidScroll: method implementieren.

Hier ist ein Beispiel, wie ich es meine Anwendung mache. Sie können das leicht für Ihre Bedürfnisse ändern. Einige Hilfsfunktionen, um UITabBar zu erhalten.

%Vor%     
Grzegorz Krukowski 10.08.2015 22:52
quelle