Поворот iAd с изменением ориентации (iPhone / iPad) - PullRequest
1 голос
/ 11 декабря 2011

У меня есть универсальное приложение (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 Ответ

2 голосов
/ 11 декабря 2011

Вы можете работать с autoResizingMask, например:

[adView setAutoresizingMask:UIViewAutoresizingFlexibleRightMargin  
 |  UIViewAutoresizingFlexibleTopMargin    
 |  UIViewAutoresizingFlexibleHeight ]; 

Без UIViewAutoresizingFlexibleBottomMargin это означает, что объект будет сохранять одинаковое поле от нижней части экрана при любой ориентации устройства, поэтому оставайтесь в нижней части в вашем случае.

...