2015-10-28 11 views
6

Ho bisogno di avere i miei annunci banner striati/pieni su tutta la larghezza dello schermo in basso.Ridimensiona l'annuncio banner MoPub iOS?

Il mio codice sta lavorando per i dispositivi con la larghezza pari a uno MOPUB_BANNER_SIZE.width o MOPUB_LEADERBOARD_SIZE.width Ma su altri dispositivi (iPhone 5/6/etc e alcuni iPad) la mia unica opzione è quella di centro il banner. Ecco il codice:

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; 
} 

Ho provato a fissare formati personalizzati per BannerFrameRect ma il banner pubblicitario continua a adattandosi all'angolo superiore sinistro del nuovo telaio. Non viene ridimensionato.

c'è un modo per ridimensionare l'annuncio?

ringraziamento

risposta

0

si prega di dare un'occhiata al codice di esempio del MoPub qui:

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

È possibile utilizzare il ridimensionamento automatico in UIView, e nel tuo caso si potrebbe semplicemente aggiungere il seguente al vostro codice:

_mopubBanner.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleBottomMargin; 

spero che questo aiuti!

0

Avete due soluzioni praticabili:

  1. usare maschere ridimensionamento automatico

    _mopubBanner.translatesAutoresizingMaskIntoConstraints = YES; 
    _mopubBanner.autoresizingMask = UIViewAutoresizingFlexibleWidth; 
    

Avrete probabilmente necessario impostare manualmente height come desideri solo 'orizzontale' tratto.

  1. MOLTO migliore IMO - utilizzare i cicli di autolayout. Per questo consiglio lo PureLayout perché è molto chiaro e utile.

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

grazie per una risposta esauriente. Sfortunatamente sono in vacanza in questo momento, quindi non posso testarlo. Non accetterò la risposta fino a quando non sarò in grado di testarlo. Ma ti darò la taglia come un piccolo incoraggiamento per essere più attivo su SO. :)) Grazie. –

+0

Grazie, riscrivi dopo i test, posso aiutarti anche con Autolayouts. – Krodak

+0

testato questo - mopub si rifiuta ancora di essere ridimensionato. Bene, diavolo, fintanto che non si blocca :)) –

Problemi correlati