2011-09-18 79 views
1

我试图在iPhone应用程序中显示admob广告,该应用程序使用TabBarController与导航控制器和表格视图。广告正在显示,但我无法点击它们。无法在iPhone上点击Admob广告

bannerView = [[GADBannerView alloc] 
        initWithFrame:CGRectMake(0.0, 
              self.view.frame.size.height, 
              GAD_SIZE_320x50.width, 
              GAD_SIZE_320x50.height)]; 

    bannerView.rootViewController = self; 

    [self.view addSubview:bannerView]; 

    GADRequest *adRequest = [GADRequest request]; 
    [bannerView loadRequest:adRequest]; 

这是adViewDidReceiveAd代码:aBannerView委托方法:每个标签从父UIViewController类中,我初始化用下面的代码的广告继承

[UIView animateWithDuration:0.5 
       animations:^{ 
        CGRect frame = CGRectMake(self.view.frame.origin.x, 
               self.view.frame.origin.y, 
               self.view.frame.size.width, 
               self.view.frame.size.height-48.0f); 
        self.view.frame = frame; 
        aBannerView.frame = CGRectMake(0.0, 
                frame.size.height, 
                aBannerView.frame.size.width, 
                aBannerView.frame.size.height); 
               }]; 

如果我把广告在关键窗口的前面,广告是可点击的,但是这样做我无法制作出适当的动画来显示它,并且仍然位于所有窗口的顶部,所以我必须使用viewWillDisappear方法跟踪它。有一个更好的方法吗?

预先感谢您。

回答

0

好吧,问题似乎是我调整了视图框架的大小,并将广告放在此框架之外,因此它可以接收事件。看来要解决调整第一子视图时,我想展示广告:

UIView *subview = [[self.view subviews] objectAtIndex:0]; 
subview.frame = frame; 

我也有跟踪使用UITabBarControllerDelegate隐藏的广告标签的变化。