通过方向更改旋转iAd(iPhone / iPad)

时间:2011-12-11 05:26:16

标签: iphone ios xcode ipad iad

我有一个通用应用程序(iPhone / iPad),在视图的底部显示了一个iAd。

我使用以下代码将其放置在视图加载上;

- (void)viewDidLoad {

    bannerIsVisible = YES;
ADBannerView *adView = [[ADBannerView alloc] initWithFrame:CGRectZero];

    float origin_y;
    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) 
        origin_y = 360.0;
    else
        origin_y = self.view.frame.size.height;

    adView.frame = CGRectMake(0.0,origin_y, adView.frame.size.width, adView.frame.size.height);
adView.delegate = self;

    if ( &ADBannerContentSizeIdentifierPortrait != NULL ) {
        adView.requiredContentSizeIdentifiers = [NSSet setWithObject:ADBannerContentSizeIdentifierPortrait];
        adView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait;

else  {
        adView.requiredContentSizeIdentifiers  = [NSSet  setWithObject:ADBannerContentSizeIdentifier320x50];
        adView.currentContentSizeIdentifier  = ADBannerContentSizeIdentifier320x50;
    }

    [self.view  bringSubviewToFront:adView];
[webView  addSubview:adView];

    [super  viewDidLoad];
}

现在我想支持所有4个方向,即iAd应该在所有4个方向上移到最底层

所以我的问题是如何更新以下代码以支持相同的内容;

(BOOL)shouldAutorotateToInterfaceOrientationUIInterfaceOrientation)interfaceOrientation {
    // Return YES for supported orientations
    return  YES;
}

请注意2件事;  1.我需要相同的代码才能在iPhone / iPad上运行  2.我已准备好将origin_y的固定值从360.0更新为您可以建议的任何内容。

谢谢。

1 个答案:

答案 0 :(得分:2)

您可以使用autoResizingMask,如下所示:

[adView setAutoresizingMask:UIViewAutoresizingFlexibleRightMargin  
 |  UIViewAutoresizingFlexibleTopMargin    
 |  UIViewAutoresizingFlexibleHeight ]; 

如果没有UIViewAutoresizingFlexibleBottomMargin,这意味着对象将在每个设备方向保持与屏幕底部相同的边距,因此请保留在您的情况下的底部。