如何显示UIWebView的滚动指示器

时间:2009-07-27 15:13:14

标签: ios objective-c uiwebview

我有UIWebView一些内容,我需要让其滚动指示器在短时间内可见(例如[UIScrollView flashScrollIndicators])。

知道怎么做吗?

2 个答案:

答案 0 :(得分:12)

从iOS 5.0开始,现在可以通过访问“scrollview”属性来自定义UIWebView的滚动行为,以实现所需的功能:

 [webView.scrollView flashScrollIndicators];

答案 1 :(得分:2)

通过已发布的API没有真正做到这一点的方法,但我认为在这种情况下可以猜测UIScrollView子视图,只要你确保你的应用程序不会崩溃,如果可以的话找到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
}

编辑:以上操作无效,因为UIWebView的第一个子视图是UIScroller,而不是UIScrollView(我的记忆可能在玩弄花样)包在我身上)。也许尝试以下几点?

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
}