簡體   English   中英

調整MoPub iOS橫幅廣告的大小?

[英]Resize MoPub iOS banner ad?

我需要在底部屏幕的寬度上划出/填充我的橫幅廣告。

我的代碼適用於寬度等於MOPUB_BANNER_SIZE.widthMOPUB_LEADERBOARD_SIZE.width的設備。但在其他設備(iPhone 5/6 /等和一些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設置自定義尺寸,但橫幅廣告只是將其自身調整到新框架的左上角。 它沒有縮放。

有沒有辦法調整廣告的大小?

謝謝

請在這里查看MoPub的示例代碼:

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

您可以在UIView中使用自動調整,在您的情況下,您只需將以下內容添加到您的代碼中:

 _mopubBanner.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleBottomMargin;

希望這可以幫助!

您有兩個可行的解決方案:

  1. 使用自動調整遮罩

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

您可能需要手動設置height ,因為您只需要“水平”拉伸。

  1. 更好的IMO - 使用Autolayouts。 為此,我推薦PureLayout,因為它非常清晰有用。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM