2012-04-02 18 views
5

Sto sviluppando un'applicazione in cui devo mostrare iAd in tutte le pagine della mia applicazione .. Ho creato una sottoclasse di UIView dove sto iniziando l'ADBannerView ei suoi metodi delegati.Come rendere iAd visibile a livello globale nella mia app?

Ma ora se lo aggiungo in una finestra in classe AppDelegate che mi sta dando seguente errore in fase di esecuzione "ADBannerView deve essere parte di una gerarchia vista gestito da un UIViewController" ..

penso che questo mezzo che Posso usare ADBanner solo nel file della sottoclasse di UIViewController ??

se sì, allora come posso renderlo globale ??

Grazie in anticipo Shreya

+1

Dai anche un'occhiata alla risposta accettata qui: http://stackoverflow.com/questions/9422177/is-it-a-good-practice-to-delete-the-adbannerview-on-viewwilldisappear-and-add- it/9422360 # 9422360 –

+0

Ehi @ utente1036925: se hai ottenuto la risposta dal basso post. Accettalo gentilmente :) –

+0

@shreya: fallo sulla finestra su appdelegate quindi è possibile .....! –

risposta

6

In classe AppDelegate si può fare un oggetto condiviso.

- (ADBannerView *) sharedBannerView 
{ 
    if (_sharedBannerView == nil) 
    { 
     Class classAdBannerView = NSClassFromString(@"ADBannerView"); 

     if (classAdBannerView != nil) 
     { 
      _sharedBannerView = [[classAdBannerView alloc] initWithFrame:CGRectMake(0, 480, 320, 50)]; 

      // pre 4.2 doesn't have the new AdBannerSize constants. 
      if (&ADBannerContentSizeIdentifierPortrait != NULL) 
      { 
       [_sharedBannerView setRequiredContentSizeIdentifiers:[NSSet setWithObjects:ADBannerContentSizeIdentifierPortrait, ADBannerContentSizeIdentifierLandscape, nil]];    
      } 
      else 
      { 
       [_sharedBannerView setRequiredContentSizeIdentifiers:[NSSet setWithObjects:ADBannerContentSizeIdentifier320x50, ADBannerContentSizeIdentifier480x32, nil]];    
      } 
     } 
    } 

    ((ADBannerView *)_sharedBannerView).backgroundColor = [UIColor whiteColor]; 

    return _sharedBannerView; 
} 

E aggiungere questo oggetto condiviso alla vista ovunque sia necessario per visualizzare iAds. Spero che tu abbia capito.

+0

Ciao Neelam. Grazie per la tua risposta. Lo implementerò di sicuro .. – Shreya

+0

@ user1036925: dai anche un'occhiata a questa nota tecnica di Apple: [TN2286: Implementazione di un banner iAd condiviso] (https://developer.apple.com/library/ios/#technotes/ tn2286/_index.html # // apple_ref/doc/uid/DTS40011212) –