2012-05-16 21 views
0

我使用cocos2d與AdMob結合,nomarl我的應用程序工作很好,但打廣告和返回遊戲後,它佈局錯誤,我的遊戲是風景!admob點擊後返回它錯誤的佈局

涉及AdMob後事情發生變化。 AdMob有一個AD類型的「電影」。點擊廣告後,它會彈出全屏模式,播放電影,然後回到遊戲中。遊戲改變了,原來是橫向模式,從廣告回來後,它似乎是肖像模式,遊戲縮放,一切看起來都很糟糕。我試圖從廣告後面更新視圖控制器/ CCDirector,但它不起作用。

找到一個解決方法:只需將設備旋轉到對應的橫向模式,一切都會順利進行。

只是想知道是否有辦法阻止告訴客戶手動旋轉它? 你以前遇到過這個嗎?

_viewController = [[UIViewController alloc] init]; 
_viewController.view = [[CCDirector sharedDirector] openGLView]; 

_admobView = [[GADBannerView alloc] initWithAdSize:kGADAdSizeBanner]; 
_admobView.adUnitID = ADMOB_PUBLISHER_ID; 
_admobView.delegate = self; 

GADRequest *request = [GADRequest request]; 
request.testing = YES; 

[_admobView setRootViewController:_viewController]; 
[_admobView loadRequest:request]; 

[_viewController.view addSubview:_admobView]; 

回答

0

我之前也有類似的問題,原因是,我創建了一個新的UIViewController並將其設置爲rootViewController對AdMob的看法 - 就像你在做什麼:

_viewController = [[UIViewController alloc] init]; 
_viewController.view = [[CCDirector sharedDirector] openGLView]; 
... 
[_admobView setRootViewController:_viewController]; 

這導致從某種廣告返回時的佈局問題。我現在正在做我的應用程序是這樣的:

adMobView.rootViewController = [RootViewController sharedInstance]; 
[[[CCDirector sharedDirector] openGLView] addSubview:adMobView]; 

其中[RootViewController sharedInstance]是一個類的方法返回的RootViewController的唯一實例的應用程序。有關詳細信息,請參閱我的回答另一個問題:https://stackoverflow.com/a/10222956/1241690

(對於cocos2d的2.X,第二行應該是:

[[[CCDirector sharedDirector] view] addSubview:adMobView];