Cambiar el tamaño de la publicidad de MoPub para iOS?

Necesito que mis anuncios de banner estén estratificados / llenos en todo el ancho de la pantalla en la parte inferior.

Mi código funciona para los dispositivos con el ancho igual a MOPUB_BANNER_SIZE.width o MOPUB_LEADERBOARD_SIZE.width Pero en otros dispositivos (iPhone 5/6 / etc y algunos iPads) mi única opción es centrar el banner. aquí está el código:

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

He intentado establecer tamaños personalizados para BannerFrameRect, pero el anuncio de banner simplemente se mantiene ajustándose a la esquina superior izquierda del nuevo marco. No se escala.

¿Hay alguna forma de cambiar el tamaño del anuncio?

gracias

por favor, eche un vistazo al código de muestra de MoPub aquí:

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

Puede usar el autorizante en UIView, y en su caso, simplemente puede agregar lo siguiente a su código:

  _mopubBanner.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleBottomMargin; 

¡espero que esto ayude!

Tienes dos soluciones viables:

  1. Usa máscaras autorizantes

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

Probablemente necesitará configurar la height manualmente ya que solo quiere un estiramiento "horizontal".

  1. Mucho mejor IMO: usa Autolayouts. Para esto, recomiendo PureLayout, ya que es realmente claro y útil.

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