Почему я не могу переместить 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 перемещается, но не тогда, когда это вызывает другая сцена.