【问题标题】:Resize MoPub iOS banner ad?调整 MoPub iOS 横幅广告的大小?
【发布时间】:2016-01-28 08:15:48
【问题描述】:

我需要在底部的整个屏幕宽度上分层/填充横幅广告。

我的代码适用于宽度等于 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 设置自定义尺寸,但横幅广告只是不断调整自己到新框架的左上角。它不会被缩放。

有没有办法调整广告的大小?

谢谢

【问题讨论】:

    标签: ios ads banner mopub cgsize


    【解决方案1】:

    请在此处查看 MoPub 的示例代码:

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

    您可以在 UIView 中使用自动调整大小,在您的情况下,您只需将以下内容添加到您的代码中:

     _mopubBanner.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleBottomMargin;
    

    希望这会有所帮助!

    【讨论】:

      【解决方案2】:

      您有两个可行的解决方案:

      1. 使用自动调整大小的蒙版

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

      您可能需要手动设置height,因为您只需要“水平”拉伸。

      1. 更好的 IMO - 使用自动布局。为此,我推荐PureLayout,因为它非常清晰实用。

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

      【讨论】:

      • 感谢您的全面回答。不幸的是,我现在正在度假,所以我无法测试它。在我能够测试之前,我不会接受答案。但我会给你赏金作为一点鼓励,让你在 SO 上更加活跃。 :)) 谢谢。
      • 谢谢,测试后回信,我也可以帮你解决自动布局问题。
      • 对此进行了测试 - mopub 仍然拒绝调整大小。好吧,见鬼去吧,只要它不崩溃:))
      猜你喜欢
      • 2021-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多