iPhone dev: Scrollgeschwindigkeit in UIWebView erhöhen?

7

Ich habe eine App, in der ich lokale HTML-Dateien in einem UIWebView rendere. Die Dateien sind jedoch manchmal groß, und mit der Standard-Scroll-Geschwindigkeit dauert es sehr lange, bis Sie zu der gewünschten Stelle gelangen. Gibt es eine Möglichkeit, die vertikale Scroll-Geschwindigkeit eines UIWebView zu erhöhen?

    
thomax 06.05.2010, 15:03
quelle

4 Antworten

23

In iOS 5 können wir auf die Eigenschaft scrollView von UIWebView zugreifen.

Wenn Sie auf iOS 5+ abzielen, können Sie einfach Folgendes aufrufen:

%Vor%     
Bruno Delgado 04.09.2012, 21:35
quelle
7

Suchen Sie eine Unteransicht von UIWebView, die eine UIScrollView ist, und legen Sie decelerationRate auf UIScrollViewDecelerationRateNormal fest. Dies macht das UIWebView so schnell wie ein gewöhnliches UIScrollView.

In iOS 4/5 können wir einfach die letzte Unteransicht von UIWebView verwenden.

%Vor%

Der Standard brationRate von UIScrollView von UIWebView ist 0.989324, während UIScrollViewDecelerationRateFast 0,99 ist und UIScrollViewDecelerationRateNormal 0.998 ist.

Diese Methode verwendet keine private API.

    
Quotation 29.06.2012 05:55
quelle
2

Suchen Sie nach einer Unteransicht von UIWebView, die auf -setScrollDecelerationFactor reagiert: (es ist UIScroller - eine private Klasse, die die einzige Unteransicht von UIScrollView ist). Sie werden feststellen, dass für die öffentliche UIScrollView-Klasse dieselben Verzögerungsfaktoren verwendet werden:

%Vor%

Beachten Sie, dass die Methode, die ich viewWithSelector: verwende, eine Methode ist, die ich in einer Kategorie von UIView definiert habe. Vermutlich, wenn UIWebView sich in Zukunft ändert, gibt meine Suche nil zurück und diese Methode wird zu einem No-Op.

    
MrO 05.06.2010 05:32
quelle
0

Haben Sie daran gedacht, an signifikanten Grenzen # -Tags in Ihren HTML-Code einzufügen?

Sie können die native Benutzeroberfläche verwenden, um Lesezeichen oder ein Inhaltsverzeichnis für eine einfachere Navigation zu implementieren, oder einfach Links in die entsprechenden Ziele direkt in Ihrem HTML-Code einbetten.

Wenn Sie das Scrollen beschleunigen, besteht die Gefahr, dass Ihre App nicht als Standard abgelehnt wird, da dies Benutzer verwirren könnte, die gewohnt sind, mit einem Standardfeeling zu scrollen.

    
Jonathan Watmough 14.06.2010 00:24
quelle