2011-09-18 109 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隱藏的廣告標籤的變化。