0

我试图旋转 AdWhirl 横幅视图。AdWhirl 提供的唯一文档是:

6.2 设备方向 包括 iAd 在内的一些广告网络会根据设备方向改变其广告尺寸。如果您的应用支持旋转,您必须通过在 UIViewController 的 should/willAutorotateToInterfaceOrientation: 实现中调用 AdWhirlView.rotateToOrientation: 将方向更改转发到 AdWhirlView,然后按照 6.1 重新调整。如果您的应用程序的方向概念与 UIDevice.orientation 有所不同,您还必须实现 AdWhirlDelegate.adWhirlCurrentOrientation 以返回适当的值。

我试图弄清楚这一点,到目前为止正确实施了 adWhirlDidReceiveAd 方法,但我无法正确旋转和/或调整相关广告的大小。

4

3 回答 3

1

在视图底部设置 AdWhirl:这里

滚动时使广告静止(即 TableView):这里

这就是我使用 AdWhirl 轮播广告的方式(可能不是最好的解决方案......):

    awView.transform = CGAffineTransformIdentity;
    awView.transform = CGAffineTransformMakeRotation(degreesToRadian(-90));
    awView.bounds = CGRectMake(0.0, 0.0, 480, 320);

您需要根据您的视图更改坐标。

于 2011-10-17T04:31:27.997 回答
1

[AdWhirlView rotateToOrientation]rotateToOrientation为每个当前网络适配器调用方法。但是,某些网络适配器不会覆盖此方法。此方法的默认实现什么也不做。因此,您需要重写 rotateToOrientation 方法。

接下来是 AdMob 网络适配器的示例实现。

AdWhirlAdapterGoogleAdMobAds.m

-(void)rotateToOrientation:(UIInterfaceOrientation)orientation {

    GADBannerView* adMobView;
    adMobView = (GADBannerView*)adNetworkView;

    switch (orientation) {
        case UIInterfaceOrientationPortrait:
        case UIInterfaceOrientationPortraitUpsideDown:
            adMobView.adSize = kGADAdSizeSmartBannerPortrait;
            break;
        case UIInterfaceOrientationLandscapeLeft:
        case UIInterfaceOrientationLandscapeRight:
            adMobView.adSize = kGADAdSizeSmartBannerLandscape;
            break;
        default:
            break;
    }
}
于 2013-01-09T01:51:07.930 回答
0

在你的 UIViewController 实现中,添加 shouldAutorotateToInterfaceOrientation: 像这样:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    // Return YES for supported orientations
    if (interfaceOrientation is supported)
    {
        [adWhirlView_ rotateToOrientation:interfaceOrientation];
        return YES;
    }
    else
    {
        return NO;
    }
}

请注意,只要实现了 shouldAutorotateToInterfaceOrientation:,AdWhirlView 就会随着布局的其余部分旋转。但是,调用 rotateToOrientation: 将告诉 AdWhirlView 将方向更改信号转发给广告,以便单个广告网络可以根据需要优化横向广告。

于 2011-10-12T19:18:08.787 回答