相关疑难解决方法(0)

[UIScreen mainScreen] .bounds.size在iOS8中是否依赖于方向?

我在iOS 7和iOS 8中运行了以下代码:

UIInterfaceOrientation orientation = [[UIApplication sharedApplication] statusBarOrientation];
BOOL landscape = (orientation == UIInterfaceOrientationLandscapeLeft || orientation == UIInterfaceOrientationLandscapeRight);
NSLog(@"Currently landscape: %@, width: %.2f, height: %.2f", 
      (landscape ? @"Yes" : @"No"), 
      [[UIScreen mainScreen] bounds].size.width, 
      [[UIScreen mainScreen] bounds].size.height);
Run Code Online (Sandbox Code Playgroud)

以下是iOS 8的结果:

Currently landscape: No, width: 320.00, height: 568.00
Currently landscape: Yes, width: 568.00, height: 320.00
Run Code Online (Sandbox Code Playgroud)

与iOS 7中的结果相比:

Currently landscape: No, width: 320.00, height: 568.00
Currently landscape: Yes, width: 320.00, height: 568.00
Run Code Online (Sandbox Code Playgroud)

是否有任何文件指定此更改?或者它是iOS 8 API中的临时错误?

orientation uiinterfaceorientation ios uiscreen ios8

184
推荐指数
8
解决办法
8万
查看次数

为什么我的应用程序在 iPhone12 mini 上的显示尺寸不正确?

我读取手机的原始高度来调整显示输出的大小,并确定顶部和底部的遮挡区域。这是一个基于选项卡的应用程序。我的显示纯粹是编程性的,它仅根据屏幕尺寸以图形方式布局。iPhone 12 mini 的显示屏比应有的小。其他 iPhone 12 类型显示正常。

在 xcode 模拟器中的各种 iPhone 类型上测试我的新应用程序时,它们看起来是正确的。但当我将该应用程序安装到 iPhone 12 mini 上时,显示屏比应有的小。我了解到模拟器返回本机高度值 2436,但手机返回值 2340。 此代码检查显示并告诉我按手机类型在屏幕顶部和底部保留多少:

nativeHeight=UIScreen.main.nativeBounds.height
    if nativeHeight==1136 || nativeHeight==1334             // SE,6S,7,8
        {reserveTopPixels=40; reserveBottomPixels=98}
    else if nativeHeight==1792                              // 11, XR
        {reserveTopPixels=88; reserveBottomPixels=198}
    else if nativeHeight==2208                              // 6s+ 7+ 8+
        {reserveTopPixels=54; reserveBottomPixels=146}
    else if nativeHeight==2436 || nativeHeight==2688        // X, XS, 11Pro, 11, Xr
        {reserveTopPixels=132; reserveBottomPixels=260}
    else if nativeHeight==2340 //iPhone 12 mini "downsampled screen"
        {reserveTopPixels=132; reserveBottomPixels=260; nativeHeight = 2436}
    else if nativeHeight==2532                              // 12, 12 pro
        {reserveTopPixels=132; …
Run Code Online (Sandbox Code Playgroud)

iphone objective-c ios swift

5
推荐指数
1
解决办法
2222
查看次数