2014-11-07 6 views
0

Я узнал, что моя сцена главного меню вызывается дважды, когда у меня есть iad-баннер в моем диспетчере просмотра. Кто-нибудь знает, почему он действует таким образом?SKScene вызывается дважды, когда я добавляю баннер iAd в ViewController

-(void)bannerViewDidLoadAd:(ADBannerView *)banner{ 


    [UIView beginAnimations:nil context:NULL]; 
    [UIView setAnimationDuration:1]; 
    [banner setAlpha:1]; 
    [UIView commitAnimations]; 



} 

-(void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error{ 

[UIView beginAnimations:nil context:NULL]; 
[UIView setAnimationDuration:1]; 
[banner setAlpha:0]; 
[UIView commitAnimations]; 

} 

в viewcontroller.h

@interface GameViewController : UIViewController <ADBannerViewDelegate>{ 

Я думаю, что они могут быть проблемы с UIView, потому что я слышал UIViews не очень хорошо работают с Sprite-Kit

+0

вы можете показать коды? –

+0

ok Я добавил код – Xsv23

+0

, с которым вы пытались позвонить с уведомлением? –

ответ

0

Я не уверен, что может будь эта работа.

ViewController.m

- (void)viewWillLayoutSubviews 
{ 
    [super viewWillLayoutSubviews]; 

    [banner setAlpha:0]; 

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleNotification:) name:@"hideAd" object:nil]; 
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleNotification:) name:@"showAd" object:nil]; 
} 


- (void)handleNotification:(NSNotification *)notification 
{ 
    if ([notification.name isEqualToString:@"hideAd"]) { 
     [banner setAlpha:0]; 
    }else if ([notification.name isEqualToString:@"showAd"]) { 
     [banner setAlpha:1]; 
    } 
} 

вызовов с этим в сцене, где вы хотите

[[NSNotificationCenter defaultCenter] postNotificationName:@"showAd" object:nil]; 
+0

, это хорошая идея. Моя проблема заключается в том, что независимо от того, скрыт ли баннер или нет, он дважды загружает мою SKScene. Есть идеи? – Xsv23