2015-06-02 2 views
1

Я добавил UILongPressGestureRecognizer в UIWebView:UILongPressGestureRecognizer проход прикасается к UIWebView

UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longTouch:)]; 
longPress.delegate = self; 
longPress.minimumPressDuration = 0.5; 
longPress.cancelsTouchesInView = YES; 

[_webView addGestureRecognizer:longPress]; 

cancelsTouchesInView набор для YES, но после долгого нажатия на гиперссылкой касание перейти к UIWebView и UIWebView нажмите на эту гиперссылкой и загрузить другую страницу ,

Как отключить прикосновения к UIWebView после долгого нажатия?

ответ

0

Вы можете использоваться ниже кода, чтобы предотвратить касание ссылок внутри по Webview контента -

@property (assign, nonatomic) BOOL allowLoad; 

- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType { 
    return allowLoad; 
} 

- (void)webViewDidFinishLoad:(UIWebView*)webView { 
    allowLoad = NO; 
} 

Не забыли установить делегат [self.webView setDelegate:self];

Надеется, что это будет помочь вам

+0

Этот код запрещает все клики по гиперссылкам. Но мне не нужно их запрещать. Мне нужно отключить передачи касания к UIWebView только при длительном нажатии. –

0

Реализовать ниже жеста делегат для предотвращения касания веб-страниц при длительном нажатии:

-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch 
{ 
    if ([touch.view isDescendantOfView:self.webView]) 
    { 
     //Ignore gesture when it's web view 
     return NO; 
    } 

    return YES; 
} 

Update

Пожалуйста, попробуйте ниже код -

-(void)webViewDidFinishLoad:(UIWebView *)webView 
{ 
    [webView stringByEvaluatingJavaScriptFromString:@"document.body.style.webkitTouchCallout='none'; document.body.style.KhtmlUserSelect='none'"]; 
} 
+1

Этот код не работает. После долгого нажатия нажимается на гиперссылку в UIWebView. –

+0

Пожалуйста, проверьте выше обновленный код –

+1

Этот код javascript Я уже присутствую в моем проекте, но он не решает проблему, о которой я описал. –

Смежные вопросы