2009-07-27 15 views

risposta

12

partire iOS 5.0 in poi, si può ora personalizzare il comportamento di scorrimento del UIWebView accedendo alla proprietà 'ScrollView' per ottenere la funzionalità desiderata:

[webView.scrollView flashScrollIndicators]; 
+2

Questa dovrebbe essere la risposta accettata – toddg

2

Non c'è un modo reale di farlo tramite un'API pubblicata, tuttavia penso che in questo caso sia giusto indovinare la sottoview UIScrollView, a condizione che ci si assicuri che l'applicazione non si arresti in modo anomalo se non si trova il UIScrollView:

UIView* scrollView = [webView.subviews objectAtIndex:0]; 
if ([scrollView isKindOfClass:[UIScrollView class]) { 
    [((UIScrollView*)scrollView) flashScrollIndicators]; 
} else { 
    // If Apple changes the view hierarchy you won't get 
    // a flash, but that doesn't matter too much 
} 

EDIT: è possibile che questo non funzionerà perché la prima visualizzazione secondaria di un UIWebView è un UIScroller, non un UIScrollView (la mia memoria potrebbe giocare trucchi su di me). Forse prova il seguente?

UIView* uiScroller = [webView.subviews objectAtIndex:0]; 
if ([uiScroller respondsToSelector:@selector(displayScrollerIndicators)]) { 
    [((UIScrollView*)uiScroller) performSelector:@selector(displayScrollerIndicators)]; 
} else { 
    // If Apple changes the view hierarchy you won't get 
    // a flash, but that doesn't matter too much 
} 
+0

UIWebView non ha visualizzazione secondaria It "UIScrollView" ha solo sottotitolo "UIScroller" E UIScroller non ha il metodo flashScrollIndicators (( – oxigen

+0

È sempre stato così? Mi sembra di ricordare che funziona su iPhone OS 2.x. –

+4

non lo si approverà poiché UIScroller è un'API privata – stigi

Problemi correlati