Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/118.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何使用UIgestureRecognitor滚动Web视图_Ios_Uigesturerecognizer - Fatal编程技术网

Ios 如何使用UIgestureRecognitor滚动Web视图

Ios 如何使用UIgestureRecognitor滚动Web视图,ios,uigesturerecognizer,Ios,Uigesturerecognizer,我的应用程序有一个由两个视图组成的屏幕 一个UIWebView顶部的一个透明视图 当使用一根手指进行交互时,所有事件都应该由透明视图捕获 当与两根手指交互时,所有事件都应绕过UIWebView。因此,用户应该能够用两个手指滚动webview 我的实现将透明视图.userInteractionEnabled设置为否,而状态变为UIgestureRecognitizerStateStart,并在状态变为UIgestureRecognitizerStateEnded时将其设置回是 但它失败了 所有源代

我的应用程序有一个由两个视图组成的屏幕

一个UIWebView顶部的一个透明视图

当使用一根手指进行交互时,所有事件都应该由透明视图捕获

当与两根手指交互时,所有事件都应绕过UIWebView。因此,用户应该能够用两个手指滚动webview

我的实现将
透明视图.userInteractionEnabled
设置为
,而状态变为
UIgestureRecognitizerStateStart
,并在状态变为
UIgestureRecognitizerStateEnded
时将其设置回
但它失败了

所有源代码都将上载到此git存储库

部分代码片段

- (void)viewDidLoad {
    [super viewDidLoad];
    NSURL *url = [NSURL URLWithString:@"https://developer.apple.com/devcenter/ios/index.action"];
    [self.webView loadRequest:[NSURLRequest requestWithURL:url]];
    self.gr = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePaning:)];
    self.gr.maximumNumberOfTouches = 2;
    self.gr.minimumNumberOfTouches = 2;
    self.gr.delegate = self;
    [self.view addGestureRecognizer:self.gr];
}


- (void)handlePaning:(UIPanGestureRecognizer *)gr
{
    if (gr.state == UIGestureRecognizerStateBegan){
        NSLog(@"Panning Began");
        self.transparentView.alpha = 0.8f;
        self.transparentView.userInteractionEnabled = NO;

    }else if (gr.state == UIGestureRecognizerStateEnded) {
        NSLog(@"Panning Ended");
        self.transparentView.alpha = 0.3f;
        self.transparentView.userInteractionEnabled = YES;
    }
}

@艾比,谢谢。我实现了这一点,发现webview现在确实在滚动,但是你滚动到的区域是纯白色的,内容不会被呈现,你知道吗?页面加载??NSString*string=@“你的web URL”需要一些时间吗;NSURL*url=[NSURL URLWithString:string];[self.webview加载请求:[nsurlRequestRequestWithURL:url]];检查您是否已调用webview代理