2009-07-27 11 views

Répondre

12

iOS À partir 5.0, on peut maintenant personnaliser le comportement de défilement de UIWebView en accédant à la propriété « scrollview » pour obtenir la fonctionnalité souhaitée:

[webView.scrollView flashScrollIndicators]; 
+2

Ceci devrait être la réponse acceptée – toddg

2

Il n'y a pas de véritable moyen de le faire via une API publiée, mais je pense que dans ce cas il est possible de deviner la sous-vue UIScrollView, tant que vous vous assurez que votre application ne plante pas si vous ne trouvez pas 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: le ne fonctionnera pas au-dessus parce que la première sous-vue d'un UIWebView est un UIScroller, pas un UIScrollView (ma mémoire peut jouer des tours sur moi). Peut-être essayer ce qui suit?

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 n'a pas sous-vue « UIScrollView » Il a UIScroller seule sous-vue Et UIScroller n'a pas la méthode flashScrollIndicators (( – oxigen

+0

Est-ce que cela a toujours été le cas? Je me souviens de ce travail dans iPhone OS 2.x. –

+4

vous ne serez pas approuvé car UIScroller est une API privée – stigi

Questions connexes