J'ai un contrôleur de vue et j'intercepte les touches sur les liens dans les vues Web qu'il gère.Attraper les liens UIWebView modaux touche
Mon contrôleur de vue principal a cette méthode.
- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType
{
//I can see this request come in upon a touch
NSURL *url = request.URL;
NSString *urlString = url.absoluteString;
NSLog(@"raw: %@", urlString);
//do some stuff (like figure out what capturedFilename is)
ExplainViewController *explanation = [[ExplainViewController alloc] initWithNibName:@"ExplainViewController" bundle:nil file:capturedFilename];
[self.navigationController presentModalViewController:explanation animated:YES];
}
Et cela charge une vue modale correctement.
ExplainViewController possède une WebView. Lorsqu'un utilisateur touche un lien dans ExplainViewConroller, je voudrais également gérer cette requête (et présenter une autre vue modale).
ExplainViewController a cela, mais je reçois pas d'activité de journal à partir de ces deux méthodes (ce qui suit ni la précédente):
- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType
{
NSURL *url = request.URL;
NSString *urlString = url.absoluteString;
NSLog(@"raw: %@", urlString);
}
Je veux savoir où cette demande de contact de lien va et comment je peux l'intercepter.
Les deux contrôleurs de vue mentionnés utilisent ce dans leur .h <UIWebViewDelegate
>