En cliquant sur un lien dans UIWebView pousse sur la fenêtre des éléments de la pile
En gros, je voudrais savoir comment faire pour intercepter un clic dans une webview et alors une nouvelle fenêtre pop up qui a une barre de navigation en haut (avec un bouton de retour) et le contenu du lien que j'ai cliqué.
J'ai actuellement un onglet de la barre de modèle avec 5 onglets et chaque onglet est actuellement à la fenêtre des éléments, et à l'intérieur de chacun de ces onglets sont des vues qui contiennent une UIWebView. C'est comment je gère les liens:
-(BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType {
NSURL *url = request.URL;
NSString *urlString = url.absoluteString;
NSRange page = [ urlString rangeOfString: @"/?page=" ];
//URL is main page
if ( [ urlString isEqualToString: @"http://somelink-yadayadayada.com/" ] ) {
return YES;
}
//URL contains page number
else if ( page.location != NSNotFound ) {
return YES;
}
//URL is clicked link
else {
//THIS IS WHERE I NEED TO HAVE THE LINK OPEN THE NEW NAV VIEW.
return NO;
}
}
Toute aide serait grandement appréciée et Si j'ai besoin de fournir plus de contexte, je serai heureux de le faire. Merci.
OriginalL'auteur SalsaSalsa | 2010-09-28
Vous devez vous connecter pour publier un commentaire.
Cette question a été posée de nombreuses fois avant. Jetez un oeil à cette page, c'est presque exactement ce dont vous avez besoin, il suffit de changer le
[BrowserViewController openBrowserWithUrl:url];
à tout ce que vous avez besoin de pousser votre nouveau ViewController à la pile de navigation. Il pourrait ressembler à ça:Avez-vous, en général, de savoir comment faire pour ajouter une nouvelle vue de la pile de la UINavigationController?
Je ne pense pas. Si ce n'est pas beaucoup d'ennui pouvez-vous expliquer?
Allright. Tout d'abord, vous parlez de la fenêtre des éléments et une WebView à l'intérieur d'un point de Vue. Pour faire clair, la prétendue structure serait: UINavigationController contient UIViewController contient la WebView, au moins autant que je sache. Ensuite, le ViewController contenant la WebView doit être faite des WebViews délégué. Maintenant, vous pouvez insérer le code que j'ai donné en premier lieu. Pour le reste, je vais modifier le droit de réponse maintenant.
Une barre d'onglet contrôleur qui dispose de 5 onglets, chacun de ces onglets sont définis à une manette de navigation. Chacune des manettes de navigation contient une vue qui contient une webView.
OriginalL'auteur Phlibbo