2011-11-03 111 views
5

我有以下代码,允许我将它放在顶部。我希望它出现在底部。如何让我的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]; 

任何援助将不胜感激。

回答

19

更新 - @ 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]; 

Shown working in simulator

+1

请注意,这只适用于iOS 4.2+,因为在4.2中都添加了“ADBannerContentSizeIdentifierPortrait”和“ADBannerContentSizeIdentifierLandscape”。只是一个头。 – larsacus

+0

感谢您的详细解答Chris – jini

+0

@jini Chris没有回答这个问题 –

0

这是帮助我移动视图的底部:

adFrame.origin.y = self.view.frame.size.height;

adView.autoresizingMask = UIViewAutoresizingFlexibleTopMargin;

+0

这会在很多情况下推送屏幕下方的广告视图。这听起来像你的问题更多的是与屏幕旋转有关,或者你正在使用界面构建器,并且视图设置不正确。你是否在你的视图控制器中使用XIB? –

+0

哦!你是对的,我注意到有不止一个实例,但我还没有修复它。我没有任何XIB,这是一个旧的代码,我正在更新它。这些观点并没有被正确地设置,这是一团糟,我不想花太多时间在这个。我的应用程序只有一个方向,所以没有轮换,我需要的只是将其设置在底部。我粘贴了整个代码(广告),以避免多次询问同一个问题,但我可以转发如果需要的话:http://pastebin.com/k73cyL7R – Neeku

+0

不知道你是如何识别出了许多实例,但问题是我在'loadView'方法中调用了'createAdView'方法,在主视图之前创建。使用定时器,问题就解决了。使用计时器的 – Neeku

2

我在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); 

干杯

+0

我尝试了类似的东西,但我不确定苹果是否会接受将大小强制为与默认值不同的东西。有没有人有上传与调整大小的iAd横幅应用程序的经验? – Alexandros

0

用故事板,那么,忽略标准iAd的横幅查看没有到达屏幕的边缘。 将iAd横幅设置为居中,然后将其移动到尽可能靠近底部的位置。没有其他的宽度设置(没有前导或尾随设置)

矿井看起来很好,从superview的底部8像素,但我去 - iAd旗帜和UIController视图之间的像素。