Iphone UIWebview滑动到另一个UIWebview

Iphone UIWebview滑动到另一个UIWebview,iphone,uiwebview,transition,gesture,Iphone,Uiwebview,Transition,Gesture,这里没有人。我在想如何实现一个 通过滑动从一个UIWebview转换到另一个UIWebview,并且仍然能够在每个webview中滚动/缩放 每个webview都应该正常响应所有触摸/手势,除非检测到滑动并且视图/内容的边界位于屏幕的相应边缘(如分页滚动视图) 我的内容是来自数据对象的html字符串 任何提示都将不胜感激。谢谢。看起来,在iPhone3.0中,将UIWebview放在UIScrollview中效果很好—“Doh 在iPhone3.0中,将UIWebview放在UIScrollvi

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

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

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


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

看起来,在iPhone3.0中,将UIWebview放在UIScrollview中效果很好—“Doh

在iPhone3.0中,将UIWebview放在UIScrollview中似乎效果很好——“Doh

将UIWebView放在ScrollView中可能有原因,但在UIWebView中同时支持滑动和滚动并不是其中之一。UIWebView本身可以很好地处理页面上的滚动,拥有它的视图控制器可以通过执行以下操作支持滑动以更改为其他控制器:

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

-(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];

将UIWebView放在ScrollView中可能有原因,但在UIWebView中同时支持滑动和滚动并不是其中之一。UIWebView本身可以很好地处理页面上的滚动,拥有它的视图控制器可以通过执行以下操作支持滑动以更改为其他控制器:

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

-(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];

如果UIWebView可以处理触摸,请检查我对此问题的回答显示如何检测Swipes如果UIWebView可以处理触摸,请检查我对此问题的回答显示如何检测swipesApple建议不要这样做,因为触摸事件可能会在scrollview和WebView之间混淆。您的里程可能会有所不同。苹果建议您不要这样做,因为触摸事件可能会混淆scrollview和WebView。您的里程可能会有所不同。