Я сделал приложение для iPhone / iPad, которое использует Webview.Когда я прокручиваю верхнюю часть моего веб-просмотра, открывается панель (как в приложении Google).
Чтобы получить делегата веб-просмотра, я использую этот код:
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 должен возвращаться из прокрутки веб-просмотра.
-(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
if(scrollView == webViewScroll){
return [webViewScrollDefaultDelegate viewForZoomingInScrollView:scrollView];
}
return nil;
}
Этохорошо работает в iOS 4. Но в iOS 5, когда я вызываю webViewScroll.delegate, он возвращает 0x0 (ноль), и масштабирование больше не работает ...
Что мне делать?