2012-04-02 11 views
5

Estoy desarrollando una aplicación donde tengo que mostrar iAds en todas las páginas de mi aplicación ... Creé una subclase de UIView donde estoy inicializando el ADBannerView y sus métodos delegados.¿Cómo hacer que iAd se vea globalmente en mi aplicación?

Pero ahora si lo añado en la ventana de la clase AppDelegate es que me da siguiente error en tiempo de ejecución "ADBannerView debe ser parte de una jerarquía de vistas gestionado por un UIViewController" ..

creo que esto significa que Puedo usar ADBanner solo en el archivo de subclase de UIViewController?

si es así, ¿cómo puedo hacerlo global?

Gracias de antemano Shreya

+1

También eche un vistazo a la respuesta aceptada aquí: http://stackoverflow.com/questions/9422177/is-it-a-good-practice-to-delete-the-adbannerview-on-viewwilldisappear-and-add- it/9422360 # 9422360 –

+0

Hola @ user1036925: si recibiste la respuesta de la siguiente publicación. amablemente, acéptalo. :) –

+0

@shreya: ¡hazlo en la ventana de appdelegate, entonces es posible ...! –

Respuesta

6

En la clase AppDelegate usted puede hacer un objeto compartido.

- (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; 
} 

Y agrega este objeto compartido a la vista donde sea que necesites mostrar iAds. Espero que lo entiendas.

+0

Hola Neelam. gracias por su respuesta. Lo implementaré con seguridad ... – Shreya

+0

@ user1036925: también eche un vistazo a esta nota técnica de Apple: [TN2286: Implementación de un banner de iAd compartido] (https://developer.apple.com/library/ios/#technotes/ tn2286/_index.html # // apple_ref/doc/uid/DTS40011212) –

Cuestiones relacionadas