繁体   English   中英

iAd不旋转

[英]iAd does not rotate

我有一个带有1个iAd的通用应用。 现在我需要同时支持这两个方向。

我使用以下代码;

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {

    if ( &ADBannerContentSizeIdentifierPortrait != NULL) {
        // NEWER
        if (UIInterfaceOrientationIsLandscape(toInterfaceOrientation))
            adView_.currentContentSizeIdentifier = ADBannerContentSizeIdentifierLandscape;
        else
            adView_.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait;
    } else {
        // OLDER
        if (UIInterfaceOrientationIsLandscape(toInterfaceOrientation))
            adView_.currentContentSizeIdentifier = ADBannerContentSizeIdentifier480x32;
        else
            adView_.currentContentSizeIdentifier = ADBannerContentSizeIdentifier320x50;
    }
}

但是,一旦我旋转到人像,我的应用就会崩溃,并显示以下错误;

由于未捕获的异常“ NSInternalInconsistencyException”而终止应用程序,原因:“ currentContentSize必须是requiredContentSizes之一; “ ADBannerContentSizeLandscape”不在{(ADBannerContentSizePortrait)}中

我正在IOS4.3模拟器上进行测试。

请帮我。 谢谢。

尝试这个:

if ([[[UIDevice currentDevice] systemVersion] compare:@"4.2" options:NSNumericSearch] == NSOrderedAscending) {

    adBanner.requiredContentSizeIdentifiers = [NSSet setWithObject:ADBannerContentSizeIdentifier320x50];

    adBanner.currentContentSizeIdentifier = ADBannerContentSizeIdentifier320x50;

    NSLog(@"below 4.2");

} else {

    adBanner.requiredContentSizeIdentifiers = [NSSet setWithObject:ADBannerContentSizeIdentifierPortrait];

    adBanner.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait;

    NSLog(@"4.2 or above");

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM