ios - iAd横幅广告在iPhone 6/6 Plus上的位置错误

标签 ios objective-c iphone iad

我正在尝试针对iPhone 6和iPhone 6 Plus优化我的SpriteKit应用程序,但iAd标语位置错误,我无法更改。它在4英寸或3.5英寸iPhone上运行良好,但在iPhone 6和6 Plus上,横幅不在底部,而是在其上方。

另外,我一直在谷歌搜索这个问题。有很多解决方案,但是没有一个对我有用。

我在ViewController.m文件中的iAd标语使用以下代码:

//iAd
#pragma mark iAd Delegate Methods

- (void)bannerViewDidLoadAd:(ADBannerView *)banner
{
    CGRect screen = [[UIScreen mainScreen] bounds];
    CGFloat height = CGRectGetHeight(screen);

    banner.frame = CGRectOffset(banner.frame, 0, height-banner.frame.size.height);
    //Changing the Y-position doesn't change the banner's position

    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:1];

    if([[NSUserDefaults standardUserDefaults] boolForKey:@"Ads_savedata"] == NO)
        [banner setAlpha:0];
    else
        [banner setAlpha:1];

    [banner updateConstraints];
    [UIView commitAnimations];
}

- (void) bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
{
    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:1];
    [banner setAlpha:0];
    [UIView commitAnimations];
}

对我来说,以下行似乎不影响横幅的位置。
banner.frame = CGRectOffset(banner.frame, 0, height-banner.frame.size.height);

我希望有人可以帮助我解决这个问题。感谢您的关注。

最佳答案

我猜它的屏幕宽度和高度问题。尝试一次

float SW;
float SH;
UIInterfaceOrientation orientation = [UIApplication sharedApplication].statusBarOrientation;
if (( [[[UIDevice currentDevice] systemVersion] floatValue]<8)  && UIInterfaceOrientationIsLandscape(orientation))
{
    SW = [[UIScreen mainScreen] bounds].size.height;
    SH = [[UIScreen mainScreen] bounds].size.width;
}
else
{
    SW = [[UIScreen mainScreen] bounds].size.width;
    SH = [[UIScreen mainScreen] bounds].size.height;
}

关于ios - iAd横幅广告在iPhone 6/6 Plus上的位置错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27708575/

相关文章:

ios - Objective-c 项目 : not supported for static libraries 中的 Swift

objective-c - 将敏感数据临时存储在 iVar 中是否会构成安全威胁?

ios - 呈现没有 Storyboard的模态视图 Controller

iphone - 无法将头文件链接到 xcode 项目

iphone - 如何计算 UIFont 的大小

ios - 来自 URL 的 AVPlayerItem 未播放

ios - 快速使用数据库中的动态内容更新静态数组

ios - 在 Objective C 中注销用户 MSAL azure 库

objective-c - RTMP 摄取 block 流的问题

iphone - 我是否必须为类的所有私有(private)方法声明一个类别?