Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 检查当前设备在延伸部分是否有缺口_Ios_Swift_Layout - Fatal编程技术网

Ios 检查当前设备在延伸部分是否有缺口

Ios 检查当前设备在延伸部分是否有缺口,ios,swift,layout,Ios,Swift,Layout,我的应用程序有一个ShareExtension,我需要知道当前设备是否有缺口 此功能适用于正常应用: var hasBottomNotch: Bool { if #available(iOS 11.0, tvOS 11.0, *) { return UIApplication.shared.delegate?.window??.safeAreaInsets.bottom ?? 0 > 20 } return false } 很遗憾,我无法在扩展中使

我的应用程序有一个
ShareExtension
,我需要知道当前设备是否有缺口

此功能适用于正常应用:

var hasBottomNotch: Bool {
    if #available(iOS 11.0, tvOS 11.0, *) {
        return UIApplication.shared.delegate?.window??.safeAreaInsets.bottom ?? 0 > 20
    }
    return false
}
很遗憾,我无法在扩展中使用此选项:

“共享”在iOS应用程序扩展中不可用:请在适当的情况下使用基于视图控制器的解决方案

有什么解决办法吗?

您可以试试

return self.view.safeAreaInsets.bottom > 20

顺便说一句,你可以检查Iphone-X上的设备型号,也可以将该布尔值保存在主应用程序的共享套件默认值中,并在扩展名内检查它

“nil coalescing operator”的左侧有非可选类型“CGFloat”,因此右侧永远不会使用”