我有一个通用应用程序(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更新为您可以建议的任何内容。
谢谢。
答案 0 :(得分:2)
您可以使用autoResizingMask,如下所示:
[adView setAutoresizingMask:UIViewAutoresizingFlexibleRightMargin
| UIViewAutoresizingFlexibleTopMargin
| UIViewAutoresizingFlexibleHeight ];
如果没有UIViewAutoresizingFlexibleBottomMargin
,这意味着对象将在每个设备方向保持与屏幕底部相同的边距,因此请保留在您的情况下的底部。