我有Admob,Autolayout和添加约束的问题。

时间:2013-06-03 17:50:06

标签: ios xcode4.5

我已成功将admob添加到我的项目中作为二手广告来源。

然后我希望admob横幅始终保持在屏幕的底部(无论使用哪种iphone) - 简单。不幸的是,我现在有一个非常奇怪的问题。 iAd和Admobs横幅现在都以某种方式显示在屏幕底部的工具栏下方。

我真的不明白这一点 - 首先,因为工具栏设置为不透明(但你可以通过它看到广告(只是)) - 第二个为什么我的iAd横幅突然做同样的事情?!

这是我目前正在运行的代码。任何投入将不胜感激!

-(void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error {

[UIView beginAnimations:@"animateAdBannerOff" context:NULL];
[UIView setAnimationDuration:2];
[banner setAlpha:0];
[UIView commitAnimations];

admobBannerView = [[GADBannerView alloc]
                    initWithFrame:CGRectMake (0.0,0.0,
                                              GAD_SIZE_320x50.width,
                                              GAD_SIZE_320x50.height)];
self.admobBannerView.adUnitID = @"X";
self.admobBannerView.rootViewController = self;
self.admobBannerView.delegate = self;

[self.view addSubview:self.admobBannerView];

[self.view addConstraint:
 [NSLayoutConstraint constraintWithItem:self.admobBannerView
                              attribute:NSLayoutAttributeBottom
                              relatedBy:NSLayoutRelationEqual
                                 toItem:self.view
                              attribute:NSLayoutAttributeBottom
                             multiplier:1.0
                               constant:0]];

self.admobBannerView.translatesAutoresizingMaskIntoConstraints = NO;


GADRequest *request = [GADRequest request];
request.testDevices = [NSArray arrayWithObjects:@"X", nil];

[self.admobBannerView loadRequest:[GADRequest request]];

1 个答案:

答案 0 :(得分:0)

在对故事板和工具栏进行一些阅读之后,我终于弄明白我做错了什么。

由于我的admob横幅被限制在它创建的视图的底部 - 我在导航控制器中将工具栏设置为不透明,但在我正在运行广告的实际视图控制器中没有。虽然你显然只能每个应用程序都有一种类型的工具栏(在导航控制器中设置),故事板允许您在视图控制器之间进行切换和更改(即使这不会转换为应用程序构建)。这对我来说似乎很愚蠢。

这是导致在半透明工具栏下创建横幅的原因。