我正在尝试在一组5个UIWebViews中呈现本地html5内容。
这个想法是用户会滑动到4个方向,所以我得到了5个UIWebViews并禁用了弹跳功能:
leftWebView.scrollView.bounces = NO;
middleWebView.scrollView.bounces = NO;
rightWebView.scrollView.bounces = NO;
upWebView.scrollView.bounces = NO;
downWebView.scrollView.bounces = NO;
我们假定在Web视图中无法滚动,因为显示的html页面小于iPad屏幕。
加载这些Web视图,以便仅通过移动其中心使其平滑就可以为过渡设置动画。
那么有没有办法改变UIWebView中手势识别器执行的滑动动作?
我尝试将4个SwipeGesturesRecognizers(每个方向一个)直接放在webView上,但是由于某些原因,当我与以下对象交换引用时,手势识别器会松开其WebView的轨迹:
UIWebView *tmp = leftWebView;
leftWebView = middleWebView;
middleWebView = rightWebView;
rightWebView = tmp;
我尝试在窗口顶部的UIView上使用4个SwipeGesturesRecognizers(每个方向一个),但是此视图现在阻止了水龙头,因此用户不再能够与可单击的元素进行交互。
最佳答案
您可以将自定义UISwipeGestureRecognizer
添加到webView ..并禁用webView中的滚动,如下所示
UIScrollView *scroll = [[self.webView subviews] lastObject];
if([scroll isKindOfClass:[UIScrollView class]])
{
scroll = (UIScrollView*)scroll;
[scroll setScrollEnabled:NO];
}
关于iphone - 如何在UIWebView中替换SwipeGestureRecognizer操作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10617967/