2015-10-28 26 views
6

私のバナー広告には、画面の幅全体に一番下が詰まった/塗りつぶされている必要があります。MoPub iOSバナー広告のサイズを変更しますか?

私のコードはMOPUB_LEADERBOARD_SIZE.width MOPUB_BANNER_SIZE.widthまたは のいずれかに等しい幅を持つデバイスのためではなく、他のデバイスに取り組んでいる

(iPhone 5月6日に/ etcおよび一部のiPad)私の唯一のオプションは、中心にありますバナー。ここでのコードは次のとおりです。

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

私はBannerFrameRectにカスタムサイズを設定しようとしたが、バナー広告は、単に新しいフレームの左上隅に自分自身を調整し続けます。それは縮尺されていません。

広告のサイズを変更する方法はありますか?

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

あなたはUIViewの中で自動サイズ変更を使用することができますし、あなたのケースであなたは、単にあなたに以下を追加することができます。

はここMoPubのサンプルコードを見てみてください、あなたに

答えて

0

に感謝しますコード:

_mopubBanner.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleBottomMargin; 

これが役に立ちます。

  1. 使用自動サイズ変更マスク

    あなたはおそらく、あなただけの '水平' ストレッチをしたいと手動heightを設定する必要があります
    _mopubBanner.translatesAutoresizingMaskIntoConstraints = YES; 
    _mopubBanner.autoresizingMask = UIViewAutoresizingFlexibleWidth; 
    

0

次の2つの実行可能なソリューションを提供しています。

  1. もっと良いIMO - Autolayoutsを使用します。このため、私はPureLayoutを本当に明確で便利なものとしてお勧めします。総合的な答えを

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

感謝。残念ながら私は今休暇中ですのでテストできません。私はそれを試すことができるまで私は答えを受け入れません。しかし、私はSOにもっと積極的になることを少し励ましてあなたに恩恵を与えるでしょう。 :))ありがとう。 –

+0

ありがとう、テスト後に書き返す、私はあなたにもAutolayoutsを手伝うことができます。 – Krodak

+0

これをテストしましたが、mopubはまだサイズ変更を拒否しています。まあ、地獄それは、クラッシュしない限り:)) –

関連する問題