2010-09-17 11 views
0

J'affiche un pub ou un fichier pdf dans le webview.But je ne suis pas capable de détecter le toucher sur le webview.Comment afficher une vue lorsque vous appuyez sur Webview en continu pendant 10 secondes?

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 

ci-dessus méthode est appelée lorsque je touche tout texte du pdf ou un pub file.How puis-je détecter le clic sur le WebView qui affiche un pdf ou un pub file.Please me aider out.Thanks.

EDIT:

Voici mon code:

- (void)viewDidLoad { 
[super viewDidLoad]; 
NSURL *url = [NSURL URLWithString:@"http://dblog.com.au"]; 
NSURLRequest *request = [NSURLRequest requestWithURL:url]; 
[webView loadRequest:request]; 
UILongPressGestureRecognizer *longPressGestureRecognizer = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(handleLongPress:)]; 
longPressGestureRecognizer.minimumPressDuration = 6.0; 
[self.webView addGestureRecognizer:longPressGestureRecognizer]; 
[longPressGestureRecognizer release]; 

} 

- (void)handleLongPress:(UIGestureRecognizer *)gestureRecognizer { 
NSLog(@"Long press detected"); 
} 

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer { 
return YES; 
} 

S'il vous plaît vérifier, ai-je fait une erreur?

+0

OK, vous devez ajouter à youre .h et définir longPressGestureRecognizer.delegate = self .. – LarsJK

Répondre

4

Essayez quelque chose comme:

UILongPressGestureRecognizer *longPressGestureRecognizer = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(handleLongPress:)]; 
longPressGestureRecognizer.minimumPressDuration = 10.0; 
[self.webView addGestureRecognizer:longPressGestureRecognizer]; 
[longPressGestureRecognizer release]; 

Et puis:

- (void)handleLongPress:(UIGestureRecognizer *)gestureRecognizer { 
    NSLog(@"Long press detected"); 
} 

EDIT:

Ajouter ceci:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer { 
return YES; 
} 

Mais en appuyant sur un même lieu pendant 10 secondes est un vraiment longtemps ... la défa La valeur ult pour une pression longue est de 0,4 seconde. Gardez à l'esprit que si le doigt est déplacé, ce n'est plus un appui long.

+0

@Larsaronen: Désolé ne fonctionne pas .... – Warrior

+0

Essayez d'ajouter la nouvelle méthode dans mon post édité! – LarsJK

+0

@Larsaronen: J'ai édité ma question et posté mon code. S'il vous plaît examiner ... – Warrior