0

AdWhirl バナービューを回転させようとしています。AdWhirl が提供する唯一のドキュメントは次のとおりです。

6.2 デバイスの向き iAd を含む一部の広告ネットワークでは、デバイスの向きによって広告のサイズが異なります。アプリが回転をサポートしている場合は、UIViewController の should/willAutorotateToInterfaceOrientation: 実装内で AdWhirlView.rotateToOrientation: を呼び出して、向きの変更を AdWhirlView に転送し、6.1 に従って再調整する必要があります。アプリの方向の概念が UIDevice.orientation と何らかの形で異なる場合は、AdWhirlDelegate.adWhirlCurrentOrientation も実装して適切な値を返す必要があります。

私はこれを理解しようとしており、これまでのところ adWhirlDidReceiveAd メソッドを正しく実装していますが、問題の広告を正しく回転またはサイズ変更できません。

4

3 に答える 3

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 に答える
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 に答える
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 に答える