【发布时间】:2011-12-16 18:37:26
【问题描述】:
我已经在 webview 中实现了滚动视图的委托。由于,iOS 5 默认滚动视图不再响应 didZoom 事件。为什么会出现这种行为?
【问题讨论】:
标签: uiwebview uiscrollview ios5 scaling
我已经在 webview 中实现了滚动视图的委托。由于,iOS 5 默认滚动视图不再响应 didZoom 事件。为什么会出现这种行为?
【问题讨论】:
标签: uiwebview uiscrollview ios5 scaling
iOS 中的 UIWebView 对象有一个滚动视图对象,该对象从 iOS5 开始通过 webView.scrollView 属性公开。以前,webView 是滚动视图的代表。因为,iOS5 webView 是某些方法的委托,而滚动视图是其他方法的委托。
-(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];
}
}
当然,这只是一个技巧,并不是完美的解决方案。
【讨论】: