iOS隐藏状态栏

[iOS]关于状态栏(UIStatusBar)的若干问题

一曲冷凌霜 提交于 2020-04-01 07:00:12
版本: OS X 10.10.5 Xcode 6.4(6E35b) iOS >= 7 一、概述 状态栏(UIStatusBar)指iPhone/iPad/iPod屏幕顶部用于显示网络、时间和电量等的、高度为20点的控件。状态栏的windowLevel为UIWindowLevelStatusBar,而window的windowLevel为UIWindowLevelNormal。所以一般情况下,状态栏位于window之上。 二、UIStatusBar的位置和尺寸 1 NSString *statusBarFrame = NSStringFromCGRect([UIApplication sharedApplication].statusBarFrame); 2 NSLog(@"%@", statusBarFrame); 在iPhone 6竖屏测试输出: 2015-08-04 16:33:47.159 Test[6175:205261] {{0, 0}, {375, 20}} 在iPhone 6横屏测试输出: 2015-08-04 16:33:47.159 Test[6175:205261] {{0, 0}, {667, 20}} 在iPhone 6 Plus竖屏测试输出: 2015-08-04 16:33:47.159 Test[6175:205261] {{0, 0}, {414,

ios7以后隐藏状态栏

给你一囗甜甜゛ 提交于 2019-12-04 00:15:50
1、在某个界面隐藏状态栏 - (BOOL)prefersStatusBarHidden//for iOS7.0 { return YES; } 在需要隐藏状态栏的controller中设置返回值(返回NO就是不隐藏了),然后在需要隐藏的地方(一般在viewDidLoad里面就可以了)调用 [self setNeedsStatusBarAppearanceUpdate]; 有一点需要注意,就是在设置了当前controller的状态栏的状态后,那么由它present或者push到的子界面的状态栏的属性与之是相同的,若不想子界面的效果与之相同那么需要对子界面再单独设置。 2、只是在启动时隐藏状态栏 在info.plist中将 Status bar is initially hidden 的值修改为 YES 即可。 3、全局隐藏状态栏 (1)、在info.plist中将 Status bar is initially hidden 的值修改为 YES (2)、在info.plist中添加 View controller-based status bar appearance 字段并设为 NO 这样即可实现全局隐藏状态栏。 来源: oschina 链接: https://my.oschina.net/u/2461772/blog/656610

iOS状态栏使用总结

孤街浪徒 提交于 2019-12-02 14:21:43
目录: 一、状态栏与导航栏 二、设置状态栏显隐与字体样式 三、设置状态栏背景色 四、启动页隐藏状态栏 五、状态栏、导航栏相关的常用宏定义 相关文章:iOS导航栏的使用总结 一、状态栏与导航栏 状态栏:显示时间、电池等信息 导航栏:显示app页面标题,返回按钮等 iOS7之前 :状态栏与导航栏是分开的; iOS7之后 :状态栏与导航栏合在一起;导航部分总高度(64)= 状态栏高度(20) +导航栏内容高度((44) iPhoneX设备出现以后 ,状态栏的高度变为44,导航栏部分总高度(88) = 状态栏(44) + 导航栏内容高度(44) 二、设置状态栏显隐与字体样式 iOS状态栏可以设置显示和隐藏,也可以设置文字的颜色。通过修改info.plist中的 View controller-based status bar appearance 属性为NO或者YES,状态栏的设置可区分为全局控制和局部控制。 全局控制 :通过info.plist设置,或者调用全局方法。 分页控制 :在视图控制器里通过prefersStatusBarHidden方法设置。 1.全局控制 默认情况或者手动设置View controller-based status bar appearance设置为NO,此时状态栏需要全局设置,而且有两种方法设置。 方法1 :依次进入Targets】->【General】->

iOS 状态栏颜色属性修改总结

前提是你 提交于 2019-12-02 14:19:34
感觉有时候修改状态栏的需求挺多的,今天总结一下: iOS 状态栏就是手机最上面显示电池时间等部分,如下图,状态栏背景部分比较容易设置,我们可以通过设置导航栏的背景色或背景图片或者控制视图的背景色来设置 即 navigationBar的tintColor ,但是如果设置了setBackgroundImage(<#T##backgroundImage: UIImage?##UIImage?#>, for: <#T##UIBarMetrics#>) 那么前面的设置将无效。 主要总结下设置前景色的修改,即上图文字或者符号的颜色 xcode 有几个部分可以设置如下图 图中Status Bar Style 默认是default ,显示为黑色。如果不带导航栏,如图中修改为light后,info.plist 中会自动增加 此时状态栏的颜色为白色。 下面的Hide status bar 默认未勾选,即所有的页面导航栏都不隐藏,当我们勾选后可以设置启动页隐藏状态栏,同时plist文件中也会增加相应设置项 还有就是修改info.plist 中的 这个View controller-based status bar apparence 项主要对status bar 两种设置的优先级 即全局的apparence 和viewController 中的preferredStatusBarStyle:

iOS开发——iOS状态栏和导航栏的控制问题

99封情书 提交于 2019-12-02 14:15:02
首先一点,IOS的界面分为状态栏和导航栏,状态栏是指显示电池、时间的最顶部的一个窄条,高度为20个点;而导航栏是紧接着状态栏的44个点高度的横条,一般用于显示app标题,返回按钮等操作按钮。 在ios7之前,状态栏和导航栏是分开的,而从ios7开始状态栏和导航栏交织在一起了,状态栏变为透明,导航栏的高度变为44+20=64: 状态栏控制 对状态栏的控制分两种情况: 全局设置 和 分页面设置 。控制这两种模式的开关是 info.plist 文件的 View controller-based status bar appearance 配置项。 一、全局设置状态栏 将 info.plist 文件的 View controller-based status bar appearance 设置为 NO ,即可开启全局设置,也就是说你在VC中对状态栏的控制都将无效,相比之下,是通过下面的代码来全局控制: //设置状态栏的字体颜色模式 [[ UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]; //设置状态栏是否隐藏 [[ UIApplication sharedApplication] setStatusBarHidden: YES ]; 注意

ios状态栏,导航栏,工具栏,tab栏的位置,附图

二次信任 提交于 2019-12-02 14:14:51
在iOS 应用 程序开发时,UIKit 框架提供了大量的UI元素共开发者使用。但开发者设计应用程序的用户界面时,一定要记得用户对于系统内置的那一套应用程序已经非常熟悉,所以开发者一定要正确的使用这些UI元素,遵循系统内置应用的标准更容易让用户快速上手你的应用。   另外,使用标准UI的好处就是它们能够自动收到iOS的更新,当开发者使用这些标准的UI,同时可以自定义元素的样式,同样可以收到样式的自动更新。   iOS应用程序UI 元素主要由状态栏、导航栏、标签栏和工具栏组成。并不是每一个应用程序都需要这些bars,毕竟一个良好的应用程序是越简单越好,但如果必要时也需要呈现这些bars,这时候就需要开发者能够正确地使用这些Bars,本文将主要就这些UI元素的使用提供建议。    状态栏   状态栏通常显示与设备和当前系统环境相关的重要信息。   状态栏样式设置,开发者可以通过在你的Info.plist 文档中修改对应的Value来控制你的状态栏样式,关于如何设置values本文不准备进行阐述,开发者可前往 苹果开发者中心 进行学习。    * 样式和行为   状态栏通常显示在移动设备屏幕的上边缘,包含了用户需要的信息,如网络连接、时间以及 电池 使用状况等信息。   在iPhone上,状态栏可以有不同的颜色,iPad上,状态栏通常是黑色的。    * 设计指南:  

ios状态栏操作

岁酱吖の 提交于 2019-12-02 14:11:11
[UIApplication sharedApplication].networkActivityIndicatorVisible = YES; //显示 [UIApplication sharedApplication].networkActivityIndicatorVisible = NO; //隐藏 让状态栏显示网络等待标志 状态栏是可以通过UIApplication类提供的一些方法来修改的,比如完全去掉状态栏或者修改风格,不过这些改变只是在你的程序内部,当你退出你的程序又会复原。 UIApplication *myApp = [UIapplication sharedApplication]; 1.隐藏状态栏 [myApp setStatusBarHidden:YES animated:YES]; 记得隐藏状态栏后的你的“桌面”就增加320×20的大小,所以最好是在任何window或者view创建之前隐藏它。 2.状态栏风格 [myApp setStatusBarStyle: UIStatusbarStyleBlackOpaque]; typedef enum { UIStatusBarStyleDefault, UIStatusBarStyleBlackTranslucent, UIStatusBarStyleBlackOpaque } UIStatusBarStyle

iOS 隐藏顶部状态栏

若如初见. 提交于 2019-12-02 14:10:15
iOS 开发过程中可能会有这样的需求。 为了不影响app内容的显示,将顶部的状态栏(现实信号,时间,电量)隐藏 默认状态栏一直是存在的 方法一, 适用于修改个别页面的状态栏 我们可以通过设置ViewController的属性来隐藏 在 viewDidLoad 方法中添加如下代码 [self prefersStatusBarHidden]; [self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)]; 再实现一个方法 - (BOOL)prefersStatusBarHidden { return YES;//隐藏为YES,显示为NO } 好了 我们运行一下看看效果 方法二, 适用于修改所有状态栏 我们找到项目的 info.plist文件(项目自动创建的,一般默认在Supporting Files 下) 查看一下有没有这两个key Status bar is initially hidden (value:YES) View controller-based status bar appearance (value:NO) 如果没有 点击+添加 完成之后 效果如下 运行项目 看看效果 是不是 隐藏的,方法二出来之后所有页面不用设置 默认都是 隐藏状态栏的 好了 大家可以加群继续讨论学习 苹果开发群

iOS控件:状态栏

有些话、适合烂在心里 提交于 2019-12-02 14:09:51
由于iOS 7 SDK较早期版本的SDK改动较大,因此App的界面也会出现种种问题,其中最明显的问题就是状态栏与导航栏的显示问题。 一、状态栏 iOS 6: iOS7: 当未使用导航栏时,上面的截图对比了在iOS 6与iOS 7上的显示情况。iOS 6中的状态栏不透明,视图控制器的主视图原点在状态栏下面。而iOS 7的状态栏背景色变为透明色,视图控制器的主视图原点在屏幕左上角,即状态栏显示在主视图之上,透过状态栏可以显示视图的内容。 如下图将视图的坐标设置为 CGRectMake ( 0 , 0 , 300 , 40 )的效果如下 iOS 7提供了两种状态栏的样式,用于控制状态栏文字的颜色。 typedef NS_ENUM(NSInteger, UIStatusBarStyle) { UIStatusBarStyleDefault = 0, // Dark content, for use on light backgrounds UIStatusBarStyleLightContent NS_ENUM_AVAILABLE_IOS(7_0) = 1, // Light content, for use on dark backgrounds UIStatusBarStyleBlackTranslucent NS_ENUM_DEPRECATED_IOS(2_0, 7_0, "Use