我在ViewController中设置了AdMob,它位于底部。一切都很好,直到我隐藏我的导航栏。隐藏导航栏时,AdMob框架会亮起。我怎样才能让它坚持到我的视野底部?这就是我所拥有的
-(void)navBarTransition:(BOOL)hide
{
[[self navigationController] setNavigationBarHidden:hide animated:YES];
//addjust frame height when ads is visible
if(hide)
{
CGRect frame = CGRectMake(0.0,self.view.frame.size.height + GAD_SIZE_320x50.height,GAD_SIZE_320x50.width, GAD_SIZE_320x50.height);
[bannerView_ setFrame:frame];
}
}
答案 0 :(得分:0)
在隐藏导航栏之前,将origin.y向下移动高度。还要确保没有自动调整遮罩(灵活的顶部/底部边距?)会干扰您的定位。
CGRect bFrame = bannerView_.frame;
CGFloat newY = bFrame.origin.y + self.navigationController.navigationBar.frame.size.height;
bFrame.origin.y = newY;
[bannerView_ setFrame:bFrame];
如果这不起作用,您可以尝试使用CJPAdController(披露:我写了这个类)。如果你实现这个类,你可以简单地将你的代码调整为以下(刚刚测试过,它看起来像你想要的那样工作):
[[self navigationController] setNavigationBarHidden:hide animated:YES];
if(hide)
[CJPAdController sharedManager] fixAdViewAfterRotation];