Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.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 Iphone X中Tabbar下方部分的高度_Ios_Swift_User Interface_Tabbar_Iphone X - Fatal编程技术网

Ios Iphone X中Tabbar下方部分的高度

Ios Iphone X中Tabbar下方部分的高度,ios,swift,user-interface,tabbar,iphone-x,Ios,Swift,User Interface,Tabbar,Iphone X,希望有人能帮助我确定Iphone X中选项卡栏下方的高度。我需要在我的Iphone X框架尺寸中删除此高度。新的状态栏具有不同的高度,我可以通过以下方式引用该高度: UIApplication.shared.statusBarFrame.height 有人知道我如何在Iphone X中引用选项卡下方的高度吗 我想这就是你想要的: if #available(iOS 11.0, *) { print(view.safeAreaInsets.bottom) } 这是因为iOS 11中引入了新

希望有人能帮助我确定Iphone X中选项卡栏下方的高度。我需要在我的Iphone X框架尺寸中删除此高度。新的状态栏具有不同的高度,我可以通过以下方式引用该高度:

UIApplication.shared.statusBarFrame.height
有人知道我如何在Iphone X中引用选项卡下方的高度吗


我想这就是你想要的:

if #available(iOS 11.0, *) {
  print(view.safeAreaInsets.bottom)
}

这是因为iOS 11中引入了新的安全区域,它将为您在iPhone X上寻找的空间提供空间。但是,它会因设备而异。

我不知道您为什么希望隐藏此指示器。但根据苹果公司推荐的指导方针,提到不要用其他视图覆盖这个空间/区域

不要屏蔽或特别注意关键显示功能。不要 试图隐藏设备的圆角、传感器外壳或 通过在屏幕上放置黑条来访问主屏幕的指示器 屏幕的顶部和底部。不要使用像这样的视觉装饰 括号、挡板、形状或说明文字称为特殊 注意这些方面

链接-

但是,如果您的要求是以横向模式播放视频
您可以在播放时自动隐藏指示器。当用户在视频播放时触摸屏幕时,它将自动重新出现

对于
自动隐藏
,您可以
在相应的
视图控制器
中覆盖PrefershoMeIndicator或AutoHidden

override func prefersHomeIndicatorAutoHidden() -> Bool {
        return true
    }

要计算导航栏和选项卡栏之间的自由空间,可以将它们的坐标转换为VC视图的空间,然后减去

我发现这比把所有可能影响保险柜的因素加在一起要容易得多。此外,它还具有在引入SafeAreaInset之前与iOS版本兼容的优点

CGRect navBarFrame = [self.view convertRect:self.navigationController.navigationBar.bounds fromView:self.navigationController.navigationBar];
CGRect tabBarFrame = [self.view convertRect:self.tabBarController.tabBar.bounds fromView:self.tabBarController.tabBar];

return CGRectGetMinY(tabBarFrame) - CGRectGetMaxY(navBarFrame);

可能重复,我的view.safeAreaInsets.bottom一直是0。有什么线索吗?请确保该设备是iPhone X,并且在加载视图层次结构后放置此代码,例如在
viewDidAppear