标签: iphone-x

检测设备是否为iPhone X.

我的iOS应用程序使用自定义高度UINavigationBar导致新iPhone X上出现一些问题.

如果应用程序在iPhone X上运行,是否有人已经知道如何以编程方式(在Objective-C中)进行可靠检测?

编辑:

当然,检查屏幕的大小是可能的,但是,我想知道是否有一些"内置"方法,如TARGET_OS_IPHONE检测iOS ...

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
    CGSize screenSize = [[UIScreen mainScreen] bounds].size;
    if (screenSize.height == 812)
        NSLog(@"iPhone X");
}
Run Code Online (Sandbox Code Playgroud)

编辑2:

我不认为,我的问题是链接问题的重复.当然,有一些方法可以"测量"当前设备的不同属性,并使用结果来决定使用哪个设备.然而,这不是我的问题的实际问题,因为我在第一次编辑时试图强调.

实际的问题是:"是否可以直接检测当前设备是否是iPhone X(例如,通过某些SDK功能)或者我是否必须使用间接测量"

到目前为止给出的答案,我认为答案是"不,没有直接的方法.测量是要走的路".

iphone objective-c ios iphone-x

248
推荐指数
16
解决办法
16万
查看次数

iOS 11 iPhone X模拟器UITabBar图标和标题顶部呈现在彼此之上

任何人在UITabBar组件周围遇到iPhone X模拟器问题?

我似乎将图标和标题呈现在彼此之上,我不确定我是否遗漏了任何东西,我也在iPhone 8模拟器中运行它,以及一个看起来很好的实际设备,如图所示故事板.

iPhone X:

iPhone X UITabBar错误

iPhone 8

iPhone 8 UITabBar有效

iphone uitabbar ios11 xcode9-beta iphone-x

131
推荐指数
10
解决办法
3万
查看次数

获得安全区域嵌入顶部和底部高度

在新的iPhone X上,为不安全区域获得顶部和底部高度最合适的方法是什么?

在此输入图像描述

ios safearealayoutguide iphone-x

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

看到iPhone X Simulator顶部和底部的黑条

在iPhone X模拟器(GM Seed)中运行我的应用程序我注意到两个奇怪的效果:

  • 应用程序不使用全屏空间(顶部和底部区域为黑色)
  • 标题栏下面有一个奇怪的白条

在此输入图像描述

有谁知道这里发生了什么以及如何解决这个问题?我在Interface Builder中找不到任何新设置.

uinavigationbar ios ios-simulator xcode9 iphone-x

124
推荐指数
6
解决办法
4万
查看次数

Cordova应用程序无法在iPhone X(模拟器)上正确显示

我昨天在Xcode 9.0(9A235)的iPhone X模拟器上测试了我的基于Cordova的应用程序,它看起来不太好.首先,不是填满整个屏幕区域,而是在app内容的上方和下方有一个黑色区域.更糟糕的是,应用内容和黑色之间是两个白条.

cordova-plugin-wkwebview-engine使用WKWebView(不是UIWebView)添加所以Cordova渲染可以修复白条.我的应用程序没有从UIWebView迁移到WKWebView,因为在使用cordova-plugin-wkwebview-engine从Inapp购买托管内容下载的图像到HTML5画布时出现性能和内存泄漏问题(file://由于WKWebView中的安全限制,Webview无法直接访问)必须通过加载图像数据cordova-plugin-file.

这些屏幕截图显示了一个在<body> 上设置了蓝色背景的测试应用.在UIWebView的上方和下方,您可以看到白条,但不能看到WKWebView:

与充满整个屏幕区域的原生应用相比,Cordova Webviews都展示了黑色区域:

ios cordova phonegap iphone-x

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

以编程方式使用安全区域布局

由于我不使用故事板来创建我的视图,我想知道是否有编程方式的"使用安全区域指南"选项或类似的东西.

我试图将我的观点固定在

view.safeAreaLayoutGuide

但它们仍然与iPhone X模拟器中的顶级重叠.

ios swift safearealayoutguide iphone-x

83
推荐指数
7
解决办法
10万
查看次数

xib文件中的安全区域布局指南 - iOS 10

我开始为iPhone X调整我的应用程序,并在Interface Builder中发现了一个问题.根据官方Apple视频,安全区域布局指南应该向后兼容.我发现它在故事板中运行得很好.

但在我的XIB文件中,iOS 10中不遵守安全区域布局指南.

它们适用于新的操作系统版本,但iOS 10设备似乎只是假设安全区域距离为零(忽略状态栏大小).

我错过了任何必要的配置吗?这是一个Xcode错误,如果是这样,任何已知的解决方法?

以下是测试项目中的问题的屏幕截图(左侧iOS 10,右侧iOS 11):

屏幕顶部的安全区域对齐

ios ios10 xcode9 iphone-x

64
推荐指数
3
解决办法
2万
查看次数

iPhone X/8/8 Plus CSS媒体查询

与Apple的新设备相对应的CSS媒体查询是什么?我需要设置body's background-color来改变X的安全区域背景颜色.

css media-queries iphone-x iphone-8 iphone-8-plus

64
推荐指数
3
解决办法
9万
查看次数

UIView中的safeAreaInsets在iPhone X上为0

我正在更新我的应用程序,以适应iPhone X.所有视图现在工作正常,除了一个.我有一个视图控制器,提供覆盖整个屏幕的自定义UIView.在我使用UIScreen.main.bounds之前,在完成所有布局之前找出视图的大小(我需要它来为collectionView放置正确的itemSize).我想现在我可以做一些类似于 UIScreen.main.bounds.size.height - safeAreaInsets.bottom获得正确可用尺寸的东西.问题是,safeAreaInsets在iPhone X(模拟器)上尝试返回(0,0,0,0).有任何想法吗?在其他视图中,我得到了safeAreaInsets的正确数字.

谢谢!

iphone ios swift iphone-x

59
推荐指数
6
解决办法
3万
查看次数

iPhone X的顶部高度是多少?

我想知道iPhone X顶部条的确切高度.你能不能提一下iPhone X的状态栏和导航栏高度. 请帮帮我.

在此输入图像描述

xcode ios iphone-x

54
推荐指数
5
解决办法
6万
查看次数