UIWebview communication entre la WebView et Objective C

lundi 26 mars 2012

Il peut être utile d’avoir une interaction entre un site en locale dans une Webview et le language natif de l’iphone (objective-C).
Pour qu’il y ait interaction, il faut ajouter une fonction de délégation dans notre controller qui va se charger de « catché » toutes les requests lancées depuis la Webview. D’abord dans le .h

@interface ShopmapsViewController : UIViewController <strong><UIWebViewDelegate></strong> {
    UIWebView *webview;
}

Pour tout objet de délégation on rajoute dans le – (void)viewDidLoad

webView.delegate = self; 

Ensuite on déclare la fonction suivante qui est appelé dès qu’une request a été composée dans la webview:

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

Voilà dans la fonction, on sait récupérer le contenu de la request et faire toutes nos actions en Objective-C.

Tags: Développement , IOS , Objective C , UIWebView , Xcode