无法在 iOS 中以编程方式隐藏 admob 横幅
Unable to hide admob banner programatically in iOS
我在游戏中似乎无法隐藏Admob横幅,使用以下方法显示;
bannerView_ = [[GADBannerView alloc] initWithAdSize:kGADAdSizeSmartBannerPortrait];
bannerView_.delegate=self;
bannerView_.adUnitID = ADMOB_ID;
bannerView_.rootViewController = self.viewController;
[viewController.view addSubview:bannerView_];
GADRequest *request =[GADRequest request];
[bannerView_ loadRequest:request];
当试图隐藏它时,即使是为了测试它,我也将它连接到一个按钮上
- (void)removeBanner{
NSLog(@"should be removing banner");
[bannerView_ setHidden:YES];
[bannerView_ removeFromSuperview];
}
我已经在 removeBanner 中尝试了上述两个选项,但是 none 会使横幅消失?
有几件事要检查
你是否多次调用第一个函数?断言 bannerView_
尚未设置。如果它被多次调用,您只会删除最后一个。
bannerView_
不知何故 nil
在 removeBanner
中吗?
编辑:删除后,您可能应该将 bannerView_
设置为 nil
(但我怀疑这是否重要)。此外,您可以在 viewController.view
上调用 setNeedsDisplay
(然后 displayIfNeeded
强制它立即发生)
我在游戏中似乎无法隐藏Admob横幅,使用以下方法显示;
bannerView_ = [[GADBannerView alloc] initWithAdSize:kGADAdSizeSmartBannerPortrait];
bannerView_.delegate=self;
bannerView_.adUnitID = ADMOB_ID;
bannerView_.rootViewController = self.viewController;
[viewController.view addSubview:bannerView_];
GADRequest *request =[GADRequest request];
[bannerView_ loadRequest:request];
当试图隐藏它时,即使是为了测试它,我也将它连接到一个按钮上
- (void)removeBanner{
NSLog(@"should be removing banner");
[bannerView_ setHidden:YES];
[bannerView_ removeFromSuperview];
}
我已经在 removeBanner 中尝试了上述两个选项,但是 none 会使横幅消失?
有几件事要检查
你是否多次调用第一个函数?断言
bannerView_
尚未设置。如果它被多次调用,您只会删除最后一个。bannerView_
不知何故nil
在removeBanner
中吗?
编辑:删除后,您可能应该将 bannerView_
设置为 nil
(但我怀疑这是否重要)。此外,您可以在 viewController.view
上调用 setNeedsDisplay
(然后 displayIfNeeded
强制它立即发生)