我想在两个单独的 UIwebview 上加载 gmail 和 yahoo,并在这两个视图之间平移/滑动。但是滚动/平移不起作用,因为 Gmail 和 Yahoo 在浏览器内处理滑动手势以执行它们自己的功能。就像在 Gmail 上滑动“存档”一样。对于雅虎,在滑动“删除”、“标记收藏”等是显示的功能。我能够成功
请让我知道我的主控制器是否可以接收滑动事件,以便我可以在这两个 Web 视图之间滑动/平移/滚动。我的应用程序也应该支持应用程序商店指南。
问候,普拉萨德
我想在两个单独的 UIwebview 上加载 gmail 和 yahoo,并在这两个视图之间平移/滑动。但是滚动/平移不起作用,因为 Gmail 和 Yahoo 在浏览器内处理滑动手势以执行它们自己的功能。就像在 Gmail 上滑动“存档”一样。对于雅虎,在滑动“删除”、“标记收藏”等是显示的功能。我能够成功
请让我知道我的主控制器是否可以接收滑动事件,以便我可以在这两个 Web 视图之间滑动/平移/滚动。我的应用程序也应该支持应用程序商店指南。
问候,普拉萨德
以下解决方案将适用于这种情况。
1. 取一个 UIView
2. 将较小的 Webview 作为子视图添加到 UIview
3. 将滑动手势识别器添加到 UIView。
现在在视图区域上平移将解决问题,它还将支持 AppStore 指南。
您可以放置显示箭头的图像以滑动/平移。
您可以在主控制器中接收滑动手势,然后根据需要通过 javasacript 将它们传递到 uiwebviews。这是一个例子:
UISwipeGestureRecognizer *swipeRight = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeRightAction:)];
swipeRight.direction = UISwipeGestureRecognizerDirectionRight;
swipeRight.delegate = self;
swipeRight.numberOfTouchesRequired = 1;
swipeRight.direction = UISwipeGestureRecognizerDirectionRight;
swipeRight.delaysTouchesBegan = YES;
[webView addGestureRecognizer:swipeRight];
然后...
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
return YES;
}
- (void)swipeRightAction:(id)ignored
{
// Send javascript into web view
[self.webView stringByEvaluatingJavaScriptFromString:@"alert('Swipe right');"];
//[webView goBack]; // or just navigate back in web view
}