Почему я не могу переместить iAd из слоя HUD?

У меня есть слой HUD, содержащий iAd с функцией, которая перемещает рекламу за пределы экрана. Я использую этот код, чтобы добавить слой HUD к одной из моих сцен:

CCScene *scene = [CCScene node];

hudLayer *hud = [hudLayer node];
[scene addChild:hud z:1 tag:5];

MainMenuView *layer = [[[MainMenuView alloc] initWithHud:hud] autorelease];
[scene addChild:layer];

return scene;

hudLayer - это имя файла класса iAd.

Теперь, когда я иду в другую сцену, слой HUD все еще там, даже если я добавил его в другую сцену. Я попытался решить эту проблему, переместив позицию iAd с помощью этого кода:

-(void)hideBanner:(BOOL)sender {
   if (sender) {
      [bannerView setCenter:CGPointMake([CCDirector sharedDirector].winSize.width/2,
                                        320+bannerView.frame.size.height/2)];
   }
   else {
      [bannerView setCenter:CGPointMake([CCDirector sharedDirector].winSize.width/2, 
                                        320-bannerView.frame.size.height/2)];
   }
}

На сцене я добавил слой HUD. У меня есть кнопка, которая вызывает функцию, которая переключает сцену на другую и вызывает функцию выше, используя этот код:

hudLayer *a = [[hudLayer alloc] init];
[a hideBanner:YES];

Функция вызывается, но iAd не двигается. Я попытался вызвать ту же функцию из функции инициализации слоев HUD, и iAd перемещается, но не тогда, когда это вызывает другая сцена.

0 ответов

Другие вопросы по тегам