【发布时间】:2009-07-27 15:13:14
【问题描述】:
我有一个带有一些内容的UIWebView,我需要让它的滚动指示器在短时间内可见(例如[UIScrollView flashScrollIndicators])。
知道怎么做吗?
【问题讨论】:
标签: ios objective-c uiwebview
我有一个带有一些内容的UIWebView,我需要让它的滚动指示器在短时间内可见(例如[UIScrollView flashScrollIndicators])。
知道怎么做吗?
【问题讨论】:
标签: ios objective-c uiwebview
从 iOS 5.0 开始,现在可以通过访问 'scrollview' 属性来自定义 UIWebView 的滚动行为以实现所需的功能:
[webView.scrollView flashScrollIndicators];
【讨论】:
没有真正的方法可以通过已发布的 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
}
【讨论】: