如何让我的iAd横幅出现在屏幕底部?
我有以下代码,允许我将它放在顶部。我希望它出现在底部。如何让我的iAd横幅出现在屏幕底部?
adView = [[ADBannerView alloc] initWithFrame:CGRectZero];
adView.frame = CGRectOffset(adView.frame, 0, -50);
adView.requiredContentSizeIdentifiers = [NSSet setWithObject:ADBannerContentSizeIdentifierPortrait];
adView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait;
[self.view addSubview:adView];
任何援助将不胜感激。
更新 - @ larsacus指出,这是4.2+:
adView = [[ADBannerView alloc] initWithFrame:CGRectZero];
adView.requiredContentSizeIdentifiers = [NSSet setWithObject:ADBannerContentSizeIdentifierPortrait];
adView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait;
CGRect adFrame = adView.frame;
adFrame.origin.y = self.view.frame.size.height-adView.frame.size.height;
adView.frame = adFrame;
[self.view addSubview:adView];
这是帮助我移动视图的底部:
adFrame.origin.y = self.view.frame.size.height;
adView.autoresizingMask = UIViewAutoresizingFlexibleTopMargin;
这会在很多情况下推送屏幕下方的广告视图。这听起来像你的问题更多的是与屏幕旋转有关,或者你正在使用界面构建器,并且视图设置不正确。你是否在你的视图控制器中使用XIB? –
哦!你是对的,我注意到有不止一个实例,但我还没有修复它。我没有任何XIB,这是一个旧的代码,我正在更新它。这些观点并没有被正确地设置,这是一团糟,我不想花太多时间在这个。我的应用程序只有一个方向,所以没有轮换,我需要的只是将其设置在底部。我粘贴了整个代码(广告),以避免多次询问同一个问题,但我可以转发如果需要的话:http://pastebin.com/k73cyL7R – Neeku
不知道你是如何识别出了许多实例,但问题是我在'loadView'方法中调用了'createAdView'方法,在主视图之前创建。使用定时器,问题就解决了。使用计时器的 – Neeku
我在SO上的第一个答案:)
为什么不使用adView的'center'属性?如果你的主要观点的尺寸viewWidth和viewHeight:
//at the bottom of view,centered
adView.center=CGPointMake(viewWidth/2, viewHeight-adView.frame.size.height);
//at the top, right corner ;)
adView.center=CGPointMake(viewWidth-adView.frame.size.width/2, adView.frame.size.height);
干杯
我尝试了类似的东西,但我不确定苹果是否会接受将大小强制为与默认值不同的东西。有没有人有上传与调整大小的iAd横幅应用程序的经验? – Alexandros
用故事板,那么,忽略标准iAd的横幅查看没有到达屏幕的边缘。 将iAd横幅设置为居中,然后将其移动到尽可能靠近底部的位置。没有其他的宽度设置(没有前导或尾随设置)
矿井看起来很好,从superview的底部8像素,但我去 - iAd旗帜和UIController视图之间的像素。
请注意,这只适用于iOS 4.2+,因为在4.2中都添加了“ADBannerContentSizeIdentifierPortrait”和“ADBannerContentSizeIdentifierLandscape”。只是一个头。 – larsacus
感谢您的详细解答Chris – jini
@jini Chris没有回答这个问题 –