iPhone OS: Tippen Sie auf die Statusleiste, um nach oben nicht funktioniert nach dem entfernen und wieder hinzufügen
Verwenden Sie diese Methode, um hide the status bar:
[[UIApplication sharedApplication] setStatusBarHidden:YES animated:YES];
Wenn die Einstellung "versteckt" zurück zu NEIN, das tap-to-scroll-to-top (in UIWebView, UITableView, was auch immer) funktioniert nicht mehr, und erfordert einen Neustart der app, um die Funktion wieder.
Ist das ein bug (ich reichte eine rdar trotzdem) oder habe ich verpasst, einen Schritt? Sollte ich vielleicht erwarten, dass dieses Verhalten seit der statusBar "verliert" irgendwie mit der jeweiligen Ansicht?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sie könnten versuchen, Einstellung der ScrollsToTop-Eigenschaft auf true wieder nach re-zeigt es:
Wenn das nicht funktioniert, werden Sie auf jeden Fall und zeigt nur eine Ansicht? Wenn es mehr als eine scrolling-Ansicht ein scrollViewDidScrollToTop Nachricht wird ignoriert...
In iOS 5.0 können Sie auf den scrollview-Eigenschaft des UIWebView
Den folgenden fix von Alex für mich gearbeitet. Danke!
In Eile, dieses Update hat Super funktioniert, jedoch mehr Zeit gegeben, die ich haben könnte, untergeordnet die UIWebView und der Zugriff auf die geschützten UIScrollView Mitglied direkt.
Den sorgen, die ich mit Alex' Methode ist, dass es wird davon ausgegangen, dass UIScrollView ist bei index null der Untersichten (Kapselung ermöglicht es privaten member zu ändern). Welche schlägt eine andere Lösung noch:
Ich hatte ein ähnliches problem, wo die scroll-to-top-Funktionalität verloren war. Stellt sich heraus, dies wird nur funktionieren, wenn man nur eine aktive Ansicht zu einem Zeitpunkt (innerhalb der gleichen scroll-view). In meinem Fall hatte ich eine Tabelle, Ansicht und anderen Ansicht würde die fade in/out. Hinzufügen eines
removeFromSuperview
am Ende der animation hat den trick.War die Antwort in der
UIScrollView.h
Datei Kommentare:Können Sie verwenden Sie den folgenden code, um die
UIWebView
ignorierenscrollToTop
- ohne zusätzlicheUIScrollView
:((UIScrollView *)[[webView subviews] objectAtIndex:0]).scrollsToTop = NO;
Ich hatte ein ähnliches problem nach dem Abspielen eines Youtube-Videos, die in meiner app.
scrollsToTop
war nochYES
aber auf die Statusleiste Tippen hatte keinen Einfluss.Habe ich endlich realisiert, dass mein app-Fenster war nicht mehr der Schlüssel Fenster. Nach dem hinzufügen der folgenden Zeile, um eine UIWindow Unterklasse (die ich schon hatte aus anderen Gründen) funktioniert alles wie es soll wieder:
Ich rannte über ein ähnliches Verhalten in der app bin ich gerade arbeiten. In Ihrem Fall, wenn Sie laden ein YouTube-video aus einer UIWebView, nach oben aufhört zu arbeiten für den rest des Anwendungs-Lebenszyklus. Ich nehme an, dies könnte passieren, nach dem laden der Video-player als auch, aber noch nicht bestätigt. Diese Funktionalität wurde um einiges länger und hat wahrscheinlich weniger bugs.
Wenn es mehrere scrollview, können Sie auch scrollUpToTop KEINE für die anderen scrollview. cf:
setScrollsToTop mit mehreren UIScrollView Klassen und/oder Unterklassen(UITableView)
Möchte ich hinzufügen, dass mein Fall, ich möchte ein UIWebView auf eine UIScrollView, als
h4xxr
hatte, antwortete auf die Spitze:So, ich bekomme einen einfach Weg, um es Arbeit auf webView: setzen Sie einfach die scrollView·s scrollsToTop-Eigenschaft false.
Und wenn Sie Tippen Sie auf die Statusleiste, es wird Sie nicht bekommen, abgefangen durch den scrollView, und die "Webansicht" aus, scrollt nach oben!!!