我在我的应用中定位一些内容(在这种情况下是Admob广告)时遇到了一个奇怪的问题。我的观点是标准UITableViewControllers
,我想要定位广告,以便将它们锚定在视图的最底部(尽管在工具栏上方)。
以下是我用于放置广告的代码(这是Admob SDK所需的委托方法)。
- (void)didReceiveAd:(AdMobView *)adView {
// get the view frame
//CGRect frame = self.navigationController.view.frame;
CGRect frame = self.view.superview.frame;
// put the ad at the bottom of the screen
adMobAd.frame = CGRectMake(0, frame.size.height - 48, frame.size.width, 48);
[self.view.superview addSubview:adMobAd];
}
此代码可以最初放置广告,广告显示在我想要的屏幕底部。但是,有时广告会在某些用户互动后跳转到屏幕中间。
例如,当用户在tableview中选择并输入并且下一个控制器被加载到导航控制器堆栈上时。当用户导航回广告所在的初始tableview控制器时,广告现在将位于屏幕中间而不是底部。
或者,如果用户选择弹出新modalViewController
的按钮,则modalViewController
被解除时也会发生相同的事情。
我是否将广告固定在错误的位置?加载视图时是否需要始终重新定位广告?我错过了什么?
答案 0 :(得分:0)
如果您尝试CGRect frame = self.view.frame;
,该怎么办?
你是否隐藏了navigationController?这可能会导致它向上移动