gpt4 book ai didi

iphone - 隐藏 UIStatusBar 如何应用于显示的 UIViews?

转载 作者:搜寻专家 更新时间:2023-10-30 20:08:11 26 4
gpt4 key购买 nike

我有一个主要由导航栏驱动的应用程序。少数情况需要呈现模态视图,其中一种情况需要隐藏状态栏。但是,即使我在呈现模态视图之前隐藏状态栏, View 也会偏移 20 像素。

即使我在 View 出现后将模态视图的框架设置为 0,-20,320,480,它也会切断 View 的顶部。

我还希望用户能够在点击屏幕时显示状态栏(和工具栏),就像视频播放器的工作方式一样。所以我将这个屏幕的样式设置为黑色透明,我希望隐藏或显示状态栏不会导致 View 上下跳动。

最佳答案

从您在下面的评论中看到您的目标是 iPhone OS 2.x,我有一个可能有用的建议。

在呈现模态视图之前,执行如下操作:

  [[UIApplication sharedApplication] setStatusBarHidden:YES animated:YES];
[[self view] setFrame:CGRectMake(0, 0, 320, 480)];

确保您的模态视图实际上是 480 像素高 - 有一次我被底部 20 像素的空白空间愚弄了。结果是因为我的 View 仍然有 460 像素高(考虑到状态栏),所以代码确实有效,但我的 View 高度不正确。

当隐藏模态视图时,这有效:

[[UIApplication sharedApplication] setStatusBarHidden:NO animated:YES];
[[self view] setFrame:CGRectMake(0, 20, 320, 460)];

如果您使用的是 presentModalViewController,您可能需要修改一下代码 - 我使用 -addSubview 进行了尝试,因为我使用的是自定义动画。但基本原则应该是相同的(即更改父 View 的框架)。

关于iphone - 隐藏 UIStatusBar 如何应用于显示的 UIViews?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1207277/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com