Почему масштабирование в UIWebview не работает в iOS5? - PullRequest
3 голосов
/ 27 октября 2011

Я реализовал делегат для просмотра прокрутки в веб-просмотре.Поскольку iOS 5 по умолчанию прокрутки больше не отвечает на событие didZoom.Почему это поведение?

1 Ответ

1 голос
/ 09 января 2012

У объекта UIWebView в iOS есть объект scrollview, который был открыт с iOS5 со свойством webView.scrollView. Ранее webView был делегатом прокрутки. Поскольку iOS5 webView является делегатом для некоторых методов, а scrollview является делегатом для других методов.

-(void) scrollViewDidZoom:(UIScrollView *)scrollView
{   

   if ([self->oldScrollViewDelegate respondsToSelector:@selector(scrollViewDidZoom:)])
   {
        //NSLog(@"forwarding scrollViewDidZoom");
    [self->oldScrollViewDelegate scrollViewDidZoom:scrollView];
   }
    else if ([self.webView respondsToSelector:@selector(scrollViewDidZoom:)]) 
   {
        //NSLog(@"forwarding scrollViewDidZoom");
    [self.webView scrollViewDidZoom:scrollView];
   }

}

Конечно, это просто взлом, а не идеальное решение.

...