Unity 不允许我使用 Screen.safeArea

Unity not allowing me to use Screen.safeArea

我正在尝试调整游戏中的 UI 以使其适合 iPhone X 的屏幕。

在我的代码中,我试图对行 return Screen.safeArea

进行编码

但是 'safeArea' 突出显示为红色,当我将光标悬停在错误上时,会显示一条消息,显示 "error CS0117: 'UnityEngine.Screen' does not contain a definition for 'safeArea'"。

我不明白为什么会收到此错误,因为根据 Unity 的文档 UnityEngine.Screen 确实包含安全区域的定义。

关于我为什么 运行 陷入此错误的任何倾向或想法?

此外,我正在使用 Unity 2017.2.0f3

根据下面的评论,要求提供代码。

private Screen ReturnSafeArea(){return Screen.safeArea}

如我所说,代码与它无关。即使在这个使用 Screen.safeArea 的简单实例中,safeArea 也被列为不是 UnityEngine.Screen.

的定义

将鼠标悬停在 safeArea 上会显示以下消息

"'Screen' does not contain a definition for 'safeArea"

Screen.screenAreaRect 类型,您的方法定义为返回 Screen

类型的值

https://docs.unity3d.com/ScriptReference/Screen-safeArea.html

纠正此问题的一种方法:

private Rect ReturnSafeArea(){
    return Screen.safeArea;
}

此外,该字段已添加到 2017.2.0p1 (Nov 6) and you're on 2017.2.0f3 (Oct 3)。 Link 适用于 0.2,但 0.f3 没有自己的页面,因此很可能是在同一天或之后不久制作的。

我相信 Screen.safeArea 是在 2017.2 的次要版本中添加的,因此 2017.2.0f3 不会有它。在 2017.2.1 及更高版本中尝试您的代码以进行确认。可惜文档没有具体说明。