UIWebview刷到另一个UIWebiew

时间:2009-08-06 21:33:54

标签: iphone uiwebview transition gesture

这里的总nooob。我想弄清楚如何实现一个 通过滑动从一个UIWebview转换到另一个UIWebview,并且仍然能够在每个webview中滚动/缩放。

除非检测到滑动并且视图/内容的边界位于屏幕的相应边缘(如分页滚动视图),否则每个webview都应正常响应所有触摸/手势。

我的内容是来自数据对象的html字符串。

任何提示将不胜感激。感谢。

2 个答案:

答案 0 :(得分:2)

看起来在UIScrollview中放置UIWebview在iPhone 3.0中运行良好 - 'Doh !!!

答案 1 :(得分:1)

可能有理由将UIWebView放在ScrollView中,但在UIWebView中支持BOTH滑动和滚动不是其中之一。 UIWebView可以自动处理页面上的滚动,并且拥有它的视图控制器可以通过执行以下操作来支持滑动以更改为其他控制器:

1)在拥有WebView实现UIGestureRecognizerDelegate方法的viewController中:

-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gr shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGr
{
    return YES;
}

这允许您在webViewController中实现的手势识别器也可以从UIWebView获取手势。否则,UIWebView将消耗所有这些内容,并且不会将它们传递给您。

2)区分滑动和在页面上滚动。在实际的手势识别器上,您要添加到UIWebView设置所需的触摸次数,称为“滑动”,类似于2或3.这允许一个手指在页面上滚动,只有当2或3个手指时才会返回SwipeGesture使用。做到这样的事情:

 UISwipeGestureRecognizer *swipeGR;
 swipeGR = [[[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeLeft)] autorelease];
 swipeGR.direction = UISwipeGestureRecognizerDirectionLeft;
 swipeGR.delegate = self;
 swipeGR.numberOfTouchesRequired = 2;
 [myWebView addGestureRecognizer:swipeGR];