2011-11-21 3 views
2

J'ai fait un plugin pour l'iphone qui fonctionne bien. Je peux appeler toutes les méthodes natives. J'ai également fait une vue personnalisée (fichier .xib) que je veux charger. Mais je n'arrive pas à comprendre comment le faire avec le téléphone.Charger la vue personnalisée dans phonegap/iphone

Normalement, je ferais quelque chose comme:

[self addSubView:myView2]; 

Mais cela ne fonctionne pas.

Quelqu'un at-il une idée comment charger et afficher un fichier .xib sur mesure lors de l'utilisation de phonegap?

Répondre

1

Avez-vous utilisé Child browser plugin jusqu'à présent, cette extension contient également ChildBrowserViewController.xib. Donc, pour appeler un autre xib dans votre Phonegap, vous devez modifier votre méthode - (BOOL)webView:(UIWebView *)theWebView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType dans le fichier appDelgate.m.

Certains comment dans votre code HTML et javascript code, vous devez fournir lien spécial (en utilisant la méthode href ou window.location) que vous devez manipuler dans shouldStartLoadWithRequest méthode, importer votre #import MyCustomViewController.h dans votre fichier appDelegate.m.

S'il vous plaît avoir regarder les snippet- suivants

- (BOOL)webView:(UIWebView *)theWebView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType 
{ 
    //return [ super webView:theWebView shouldStartLoadWithRequest:request navigationType:navigationType ]; 
    NSURL *url = [request URL]; 
    if([request.URL.absoluteString isEqualToString:@"about:blank"]) 
     return [ super webView:theWebView shouldStartLoadWithRequest:request 
       navigationType:navigationType ]; 
    if ([[url scheme] isEqualToString:@"gap"]) { 
     return [ super webView:theWebView shouldStartLoadWithRequest:request 
       navigationType:navigationType ]; 
    } 
     else { 
     NSString *urlFormat = [[[url path] componentsSeparatedByString:@"."] lastObject]; 
     if ([urlFormat compare:@"xib"] == NSOrderedSame) { 
      [theWebView sizeToFit]; 
      MyCustomViewController* customVC = [ [ MyCustomViewController alloc ] initWithScale:FALSE ]; 
      customVC.modalPresentationStyle = UIModalPresentationFormSheet; 
      customVC.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; 
      [super.viewController presentModalViewController:customVC animated:YES ];   
      [customVC release]; 
      //return YES; 
      return NO; 
     } 
     else 
      return [ super webView:theWebView shouldStartLoadWithRequest:request 
        navigationType:navigationType ];  
    } 
} 

grâce,
Mayur

Questions connexes