我为 iPhone/iPad 制作了一个使用 Webview 的应用程序。当我在我的 Webview 顶部滚动时,会打开一个面板(就像在 Google 应用程序中一样)。
要获得 Webview 滚动委托,我正在使用该代码:
for(UIView * subView in webView.subviews){
if ([subView isKindOfClass:[UIScrollView class]]) {
webViewScroll = (UIScrollView *)subView;
webViewScrollDefaultDelegate = webViewScroll.delegate;
[webViewScroll setDelegate:self];
}
}
为了管理滚动,我使用这些功能:
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
我需要默认委托,因为我不知道 viewForZoomingInScrollView 应该从 webview 的滚动返回什么。
-(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
if(scrollView == webViewScroll){
return [webViewScrollDefaultDelegate viewForZoomingInScrollView:scrollView];
}
return nil;
}
它在 iOS 4 中运行良好。但是在 iOS 5 中,当我调用 webViewScroll.delegate 时,它返回 0x0(nil)并且缩放不再起作用......
我应该怎么办?