2015-10-28 17 views
6

Banner reklamlarımın alt kısımdaki ekranın genişliği boyunca tıklatılmış/doldurulmuş olması gerekir.MoPub iOS banner reklamını yeniden boyutlandırın?

Kodum MOPUB_LEADERBOARD_SIZE.width MOPUB_BANNER_SIZE.width veya ya eşit genişlikte olan cihazlar için Ama diğer cihazlarda çalışmaktadır

(iPhone 5/6/vs ve bazı iPad'ler) benim tek seçenek merkezi olmaktır pankart. sadece yeni çerçevenin sol üst köşesine kendini ayarlayarak tutar Ben BannerFrameRect için özel boyutlar ayarı denedim

if(!_mopubBanner){ 
    NSString* bannerID; 
    const CGSize* bannerSize; 
    if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone){ 
     bannerID = @"MopubBannerId"; 
     bannerSize = &MOPUB_BANNER_SIZE; 
    } 
    else{ 
     bannerID = @"MopubLeaderboardId"; 
     bannerSize = &MOPUB_LEADERBOARD_SIZE; 
    } 

    _mopubBanner = [[MPAdView alloc] initWithAdUnitId:bannerID size:*bannerSize]; 
    _mopubBanner.delegate = self; 

    CGRect BannerFrameRect; 
    if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) 
    { 
     BannerFrameRect = CGRectMake(([[UIScreen mainScreen] bounds].size.width - MOPUB_BANNER_SIZE.width)/2, 
            [[UIScreen mainScreen] bounds].size.height - MOPUB_BANNER_SIZE.height, 
            MOPUB_BANNER_SIZE.width, 
            MOPUB_BANNER_SIZE.height); 
    } 
    else 
    { 
     BannerFrameRect = CGRectMake(([[UIScreen mainScreen] bounds].size.width - MOPUB_LEADERBOARD_SIZE.width)/2, 
            [[UIScreen mainScreen] bounds].size.height - MOPUB_LEADERBOARD_SIZE.height, 
            MOPUB_LEADERBOARD_SIZE.width, 
            MOPUB_LEADERBOARD_SIZE.height); 
    } 

    _mopubBanner.frame = BannerFrameRect; 
} 

ama afiş reklam: Burada kodudur. Ölçeklendirilmez.

Reklamı yeniden boyutlandırmanın herhangi bir yolu var mı?

Eğer

cevap

0

burada MoPub en örnek kod bakmak teşekkür edin:

https://github.com/mopub/mopub-ios-sdk/blob/master/MoPubSampleApp/Controllers/MPLeaderboardBannerAdDetailViewController.m

Sen UIView içinde Otomatik yeniden kullanabilir ve sizin durumunuzda sadece aşağıdakileri ekleyebilirsiniz senin kodu:

_mopubBanner.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleBottomMargin; 

Bu yardımcı olur umarım!

  1. Kullanım otomatik yeniden boyutlandırma maskeleri

    Muhtemelen sadece 'yatay' streç istediğiniz gibi manuel height ayarlamak gerekir
    _mopubBanner.translatesAutoresizingMaskIntoConstraints = YES; 
    _mopubBanner.autoresizingMask = UIViewAutoresizingFlexibleWidth; 
    

:

0

İki canlı çözümler var.

  1. Çok daha iyi IMO - Otomatik Kullanımları kullanın. Bunun için gerçekten açık ve kullanışlı olduğu gibi PureLayout tavsiye ederim. Kapsamlı bir cevap için

    _mopubBanner.translatesAutoresizingMaskIntoConstraints = NO; 
    [_mopubBanner autoPinEdgesToSuperviewEdgesWithInsets:UIEdgeInsetsZero excludingEdge:ALEdgeTop]; 
    
+0

teşekkürler. Ne yazık ki şu an tatildeyim ki test edemiyorum. Test edebilecek kadar cevabı kabul etmeyeceğim. Fakat size, SO üzerinde daha aktif olmak için biraz cesaret verebileceğimi göstereceğim. :)) Teşekkürler. –

+0

Teşekkürler, testten sonra tekrar yazın, Autolayouts'ta da size yardımcı olabilirim. – Krodak

+0

bunu test etti - mopub hala yeniden boyutlandırmayı reddediyor. Eh, cehennemde olmadığı sürece, :)) –

İlgili konular