1

我正在使用 Revmob 使用以下代码显示添加横幅。

[RevMobAds startSessionWithAppID:@"My Application id"];

[RevMobAds 会话].testingMode = RevMobAdsTestingModeWithAds;

[[RevMobAds 会话] showBanner];

它在底部完美地显示了测试横幅。

现在我的问题是我想在我的应用程序顶部设置这个横幅。

那么我该如何设置这个横幅框架呢?

我曾尝试使用 RevMobBannerView

我的代码是

RevMobBannerView *banner = [[RevMobBannerView alloc] initWithFrame:CGRectMake(0, 100, 320, 50)];

[banner setBackgroundColor:[UIColor yellowColor]];

[banner loadAd];

[self.window addSubview:banner];

但它不起作用......它没有在屏幕上显示任何内容。

任何帮助都将受到重视...

谢谢 !

4

4 回答 4

4

RevMob 文档网站

RevMobBannerView *ad = [[RevMobAds session] bannerView];
ad.delegate = self;
[ad loadAd];
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
  ad.frame = CGRectMake(0, 0, 768, 114);
} else {
  ad.frame = CGRectMake(0, 0, 320, 50);
}

[self.view addSubView:ad];
于 2013-01-21T21:30:30.117 回答
2

如果 tkanzakic 回答不起作用,您始终可以使用 UIView 将横幅放入并将其添加到您的视图中。在横幅加载委托中,将中间视图的大小调整为横幅的边界。

编辑: 类似的东西

ad = [[[RevMobAds session] bannerView] retain];
ad.delegate = self;
[ad loadAd];

- (void)revmobAdDidReceive {
  intermediateView.frame = CGRectMake(0,0, somewidth, someheight);
  ad.frame = intermediateView.bounds;
  [intermediateView addSubview:ad];
}
于 2013-01-21T11:37:49.880 回答
1

RevMobAds对象有一个RevMobBannerView属性,这个属性有一个frame. 根据文档

您可以使用此属性来定义横幅在屏幕中的位置。默认是屏幕底部的横幅

编辑:

试试这个来设置框架:

RevMobAds *revMovAds = [RevMobAds startSessionWithAppID:@"My Application id"];
revMovAds.bannerView.frame = CGRect(x,y,xx,yy);
[revMovAds showBanner];
于 2013-01-21T10:57:39.880 回答
0

当我在我的项目中添加它(RevMob 5.9 版)时。我这样做:

[RevMobAds startSessionWithAppID:@"my id"];
RevMobBannerView *ad = [[RevMobAds session] bannerView]; // you must retain this object
[ad loadWithSuccessHandler:^(RevMobBannerView *banner) {
    banner.frame = CGRectMake(0, 381, 320, 50);
    [self.window.rootViewController.view addSubview:banner];
    NSLog(@"Ad loaded");
} andLoadFailHandler:^(RevMobBannerView *banner, NSError *error) {
    NSLog(@"Ad error: %@",error);
} onClickHandler:^(RevMobBannerView *banner) {
    NSLog(@"Ad clicked");
}];
于 2013-06-10T14:04:27.850 回答