ios - 隐藏状态栏iOS 7时 View 框架发生变化

标签 ios iphone objective-c uinavigationcontroller uinavigationbar

我正在尝试解决这个问题一段时间,

我在导航 Controller 中嵌入了一个 View Controller ,我想切换状态栏隐藏/显示。

问题是当我将状态栏设置为隐藏时,我的所有 View (包括导航栏)都会跳起来。

我怎样才能避免这种行为?
我只想隐藏状态栏而没有任何其他效果,并且导航栏从 0 扩展到 64 像素高度。

我创建了一个 simple project这证明了问题。

关于可能的解决方案的几点说明:
- 我不能使用自动布局
- 导航栏不能半透明
- “基于 View Controller 的状态栏外观”必须设置为 NO

最佳答案

老实说,我建议你修改你的愿望。您所描述的行为深深地构建在 UINavigationController 中,因此,基本上,如果不编写自己的 UINavigationController 子类,您将无法做您所描述的事情 - 不过,更老实说,我远不清楚您是什么'必须重写以干扰此行为,因此可能有必要编写替代接口(interface)。例如,您可以有一个包含导航栏和界面的呈现 View Controller ,现在您可以完全控制所有内容的高度和位置......在我看来,这是一条不值得走的路向下。

关于ios - 隐藏状态栏iOS 7时 View 框架发生变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22617939/

相关文章:

ios - 无法在 tableViewCell 中放置图像

ios - Main.storyboard 未加载

ios - AF网络 : Do I need to delete downloaded file myself?

ios - 在不同viewController之间传递数据后,无法在DetailViewController中设置标签文本

iphone - CGLayer 上的 UIImage

ios - 在 iOS 中使用 NSURLConnection 形成数据请求

iphone - 我可以只为我的 iPhone 应用程序使用 1 张图片吗?

iphone - 如何使用金额对包含对象作为数据的NSMutableArray进行排序

iphone - 在构建期间显示或记录预处理器宏

iOS9 Objective-C 使用定时器在后台运行 GPS