iPad Air 上的屏幕宽度和高度不正确

Posted

技术标签:

【中文标题】iPad Air 上的屏幕宽度和高度不正确【英文标题】:Incorrect screen width and height on iPad Air 【发布时间】:2016-05-10 17:30:47 【问题描述】:

我只是尝试测试我的应用程序。在 iPhone 和 iPad 上,我发现 iPad Air 上存在不正确的屏幕宽度/高度问题。

注意:

    CGRect screenBounds = [UIScreen mainScreen].bounds ;
    CGFloat width = CGRectGetWidth(screenBounds)  ;
    CGFloat height = CGRectGetHeight(screenBounds) ;

从上面的代码:width=320 and height=480 from my console

我使用以下代码测试 iPad Air 和 iPhone 的宽度/高度

    CGFloat width = 320.0;
    CGFloat height = 480.0;
    CGSize size          = [UIScreen mainScreen].bounds.size;
    CGPoint centerPoint = CGPointMake(size.width/2 - width/2, size.height/2 - height/2);

    UIBezierPath* path = [UIBezierPath bezierPathWithRect:CGRectMake(centerPoint.x, centerPoint.y, width, height)];
    _rectLayer.lineWidth = 2.0f;
    _rectLayer.strokeColor = [[UIColor redColor] CGColor];
    [_rectLayer setFillColor:[[UIColor clearColor] CGColor]];
    [_rectLayer setPath:[path CGPath]];
    [_rectLayer setOpacity:0.5];
    [self.view.layer addSublayer:_rectLayer];

iPad Air,顶部不显示红色边缘

iPhone 4s,到处都是红边

iPhone 5,到处都是红边

【问题讨论】:

【参考方案1】:

    您的应用是 iPhone 专用应用。注意 iPad 屏幕右下角的 1x/2x。如果你想支持 iPad 的全屏,你需要让你的 app 成为一个通用的 app。在 Xcode 中,选择您的目标。然后转到常规选项卡。将设备设置从 iPhone 更改为通用。

    根据您的 iPhone 屏幕截图,您没有提供正确的启动图像或启动屏幕文件(后者更好)。

如果没有这两项更改,您的应用仅支持 3.5 英寸 iPhone(Apple 不会接受)。

【讨论】:

感谢您的回答。节省我很多时间:)

以上是关于iPad Air 上的屏幕宽度和高度不正确的主要内容,如果未能解决你的问题,请参考以下文章

iPad 上的键盘高度不正确

怎样用 JavaScript 准确获取手机屏幕的宽度和高度

通过方向更改获取屏幕宽度/高度的正确方法是啥?

如何获取iOS设备屏幕的高度和宽度[重复]

iPad屏幕键盘的高度是多少?

页面高度是两个屏幕高度