iOS视图定位错误

时间:2011-04-24 00:07:07

标签: iphone ios uitableview uiview admob

我在我的应用中定位一些内容(在这种情况下是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被解除时也会发生相同的事情。

我是否将广告固定在错误的位置?加载视图时是否需要始终重新定位广告?我错过了什么?

1 个答案:

答案 0 :(得分:0)

如果您尝试CGRect frame = self.view.frame;,该怎么办?

你是否隐藏了navigationController?这可能会导致它向上移动