首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调整MoPub iOS横幅广告的大小?

调整MoPub iOS横幅广告的大小?
EN

Stack Overflow用户
提问于 2015-10-28 13:59:04
回答 2查看 1.5K关注 0票数 6

我需要让我的横幅广告平缓/充满整个屏幕的宽度在底部。

我的代码适用于宽度等于MOPUB_BANNER_SIZE.widthMOPUB_LEADERBOARD_SIZE.width的设备,但在其他设备(iPhone、5/6/etc和一些iPads)上,我唯一的选择是将横幅居中。以下是代码:

代码语言:javascript
复制
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设置自定义大小,但是横幅广告只是不断地调整自己,以适应新框架的左上角。它不会被缩放。

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

谢谢

EN

回答 2

Stack Overflow用户

发布于 2016-01-03 21:06:20

请看一下MoPub的示例代码如下:

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

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

代码语言:javascript
复制
 _mopubBanner.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleBottomMargin;

希望这能帮上忙!

票数 0
EN

Stack Overflow用户

发布于 2016-01-04 16:06:21

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

  1. 使用自动调整掩码 _mopubBanner.translatesAutoresizingMaskIntoConstraints = YES;_mopubBanner.autoresizingMask = UIViewAutoresizingFlexibleWidth;

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

  1. 更好的海事组织-使用Autolayout。为此,我推荐PureLayout,因为它非常清晰和有用。 _mopubBanner.translatesAutoresizingMaskIntoConstraints = NO;_mopubBanner autoPinEdgesToSuperviewEdgesWithInsets:UIEdgeInsetsZero排除边缘:ALEdgeTop;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33393047

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档