在我的应用程序中,我有一些网络视图。透明状态栏不适合全屏 webview。我想让状态栏变成半透明的,就像游戏中心一样。
我注意到如果它下面有一个导航栏,状态栏会被绘制成半透明的。但我想要一个半透明的状态栏 BY ITSELF。
有没有办法做到这一点?
在我的应用程序中,我有一些网络视图。透明状态栏不适合全屏 webview。我想让状态栏变成半透明的,就像游戏中心一样。
我注意到如果它下面有一个导航栏,状态栏会被绘制成半透明的。但我想要一个半透明的状态栏 BY ITSELF。
有没有办法做到这一点?
如果您查看有关它推荐的状态栏的人机界面指南部分(强调与您的问题最相关的部分):
防止滚动内容通过状态栏显示。当用户滚动时,您不希望他们在状态栏区域中看到应用内容和状态栏项目的混乱组合。为了给用户留下宽敞的印象,同时仍确保最大的可读性,请确保状态栏的背景遮蔽其后面的内容。以下是防止滚动内容通过状态栏显示的几种方法:
- 使用导航控制器显示内容。导航控制器会自动显示状态栏背景,并确保其内容视图不会出现在状态栏后面。(要了解有关导航控制器的更多信息,请参阅“导航
控制器”。)- 创建一个不会分散注意力的自定义图像(例如渐变)并将其显示在状态栏后面。为了确保图像保持在状态栏后面,您可以使用视图控制器将图像保持在滚动视图上方,或者您可以使用滚动视图将其固定在顶部。
- 定位内容以避开状态栏区域(即应用的 statusBarFrame 属性定义的区域)。如果您这样做,您应该使用窗口的背景颜色在状态栏后面提供纯色。
由于状态栏是完全透明的,任何内容都可以放在上面,我只创建了一个 20px 高度的空 UIToolbar,它看起来就像状态栏的完美半透明背景。这不是最终的解决方案,但它确实很有帮助,并且当您不需要真正的工具栏时,它很容易实现。感谢 Apple,他们没有提供将状态栏从透明设置为半透明的选项。
在 Xcode 6 中,创建 top、bottom、left、right 约束并将
- 常量设置为 0
- 优先级设置为 749。
- 不要忘记取消选中“Constrain to margins”复选框。
如何创建约束?
在故事板窗口的右下方,有四个按钮。
你左边的第二个有约束。
请 google 关于 Xcode 6 中的约束,因为它是一个新功能。希望这有帮助,