2012-04-02 15 views
5

Pracuję nad aplikacją, w której muszę wyświetlać iAds na wszystkich stronach mojej aplikacji .. Utworzono podklasę UIView, w której inicjalizuję ADBannerView i jego metody delegowania.Jak ustawić iAd, aby był wyświetlany globalnie w mojej aplikacji?

Ale teraz, gdy dodam go w oknie w klasie AppDelegate to daje mi następujący błąd w czasie wykonywania „ADBannerView musi być częścią hierarchii widoku zarządzanego przez UIViewController” ..

myślę, to znaczy, że Mogę używać ADBanner tylko w pliku podklasy UIViewController?

jeśli tak, to w jaki sposób mogę uczynić go globalnym?

Dzięki z góry Shreya

+1

Zobacz także akceptowaną odpowiedź tutaj: http://stackoverflow.com/questions/9422177/is-it-a-good-practice-to-delete-the-adbannerview-on-viewwilldisappear-and-add- it/9422360 # 9422360 –

+0

Hej @ user1036925: jeśli masz odpowiedź z poniżej postu. Przyjmij to z przyjemnością. :) –

+0

@shreya: zrób to na oknie na appdelegate, a następnie jest możliwe .....! –

Odpowiedz

6

W klasie AppDelegate można złożyć wspólny przedmiot.

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

Dodaj ten wspólny obiekt do widoku, gdziekolwiek chcesz wyświetlać reklamy iAds. Mam nadzieję, że go zdobędziesz.

+0

Cześć Neelam. thanx za twoją odpowiedź. Zaimplementuję go na pewno .. – Shreya

+0

@ user1036925: zapoznaj się również z tą uwagą techniczną od Apple: [TN2286: Implementacja wspólnego banera iAd] (https://developer.apple.com/library/ios/#technotes/ tn2286/_index.html # // apple_ref/doc/uid/DTS40011212) –

Powiązane problemy