iPhone OS: Tippen Sie auf die Statusleiste, um nach oben zu blättern, funktioniert nach dem Entfernen / Hinzufügen nicht mehr

8

Mit dieser Methode können Sie die Statusleiste ausblenden:

%Vor%

Wenn Sie "hidden" wieder auf "NO" setzen, funktioniert die TAP-to-top-Funktion (in UIWebView, UITableView, was auch immer) nicht mehr und erfordert einen Neustart der App, um die Funktionalität wiederherzustellen.

Ist das ein Fehler (ich habe sowieso einen Rdar eingereicht) oder habe ich einen Schritt verpasst? Sollte ich dieses Verhalten vielleicht erwarten, da die statusBar "irgendwie den Kontakt verliert" mit der jeweiligen Ansicht?

    
avocade 01.09.2009, 10:02
quelle

9 Antworten

18

Sie könnten versuchen, die ScrollsToTop-Eigenschaft nach dem erneuten Anzeigen auf true zu setzen:

%Vor%

Wenn das nicht funktioniert, zeigen Sie definitiv nur eine Ansicht? Wenn mehrere Scroll-Ansichten vorhanden sind, wird eine scrollViewDidScrollToTop-Nachricht ignoriert ...

    
h4xxr 01.09.2009, 11:30
quelle
10

In iOS 5.0 können Sie auf die Scrollview-Eigenschaft von UIWebView zugreifen

%Vor%     
Paul Cooper 01.07.2011 14:46
quelle
7

Die folgende Korrektur von Alex hat für mich funktioniert. Danke!

%Vor%

In Eile hat dieser Fix funktioniert, aber mit mehr Zeit habe ich vielleicht das UIWebView subclassiert und direkt auf das geschützte UIScrollView-Mitglied zugegriffen.

Die Sorge, die ich mit Alex 'Methode habe, ist, dass angenommen wird, dass UIScrollView im Index Null der Subviews ist (die Kapselung erlaubt es privaten Mitgliedern, sich zu ändern). Was noch eine andere Lösung nahelegt:

%Vor%     
user305578 22.08.2010 06:56
quelle
5

Ich hatte ein ähnliches Problem, bei dem die Scroll-to-Top-Funktionalität verloren ging. Es stellt sich heraus, dass dies nur funktioniert, wenn Sie jeweils nur eine aktive Ansicht haben (innerhalb derselben Scroll-Ansicht). In meinem Fall hatte ich eine Tabellenansicht und eine andere Ansicht, die ein- und ausgeblendet werden würde. Das Hinzufügen eines removeFromSuperview am Ende der Animation hat den Trick gemacht.

Die Antwort war in den UIScrollView.h Dateikommentaren:

%Vor%     
Juan 12.07.2010 20:51
quelle
5

Sie können den folgenden Code verwenden, um die UIWebView ignorieren scrollToTop ohne die zusätzliche UIScrollView :

zu haben %Vor%     
Nick Toumpelis 27.10.2009 10:19
quelle
3

Ich hatte ein ähnliches Problem, nachdem ich ein Youtube-Video in meiner App abgespielt hatte. scrollsToTop wurde weiterhin auf YES festgelegt, aber das Tippen auf die Statusleiste hatte keine Auswirkungen.

Ich erkannte schließlich, dass mein App-Fenster nicht mehr das Schlüsselfenster war. Nach dem Hinzufügen der folgenden Zeile zu einer UIWindow-Unterklasse (die ich bereits aus anderen Gründen hatte) funktionierte alles wieder wie es sollte:

%Vor%     
prendio2 15.04.2010 23:28
quelle
0

Ich bin gerade in der App, an der ich gerade arbeite, auf ein ähnliches Verhalten gestoßen. Wenn Sie in einem solchen Fall ein YouTube-Video aus einem UIWebView laden, scrollt der Bildlauf nach oben, um für den Rest des Lebenszyklus der Anwendung zu funktionieren. Ich gehe davon aus, dass dies auch nach dem Laden des Movie-Players passieren könnte, habe dies aber nicht bestätigt. Diese Funktionalität ist viel länger und hat wahrscheinlich weniger Bugs.

    
Ben Lachman 16.09.2009 21:52
quelle
0

Wenn es mehrere Bildlaufansichten gibt, können Sie scrollUpToTop auch für die andere Bildlaufansicht auf NEIN setzen. Siehe:

setScrollsToTop mit mehreren UIScrollView-Klassen und / oder -Unterklassen (UITableView)

    
lansher1985 19.09.2012 14:11
quelle
0

Ich möchte meinen Fall hinzufügen, ich füge ein UIWebView auf einem UIScrollView hinzu, wie h4xxr oben beantwortet hatte:

  

Wenn mehrere Scroll-Ansichten vorhanden sind, wird eine scrollViewDidScrollToTop-Nachricht ignoriert

Also bekomme ich einen einfachen Weg, um es mit webView zu arbeiten: setze einfach die scrollsToTop Eigenschaft des scrollView s false.

Und wenn Sie auf die Statusleiste tippen, wird sie nicht von scrollView abgefangen, und der webView scrollt nach oben!

%Vor%     
FFur 16.12.2016 09:34
quelle