我以编程方式创建视图。要在视图中隐藏状态栏,请使用
[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:NO];
在viewDidload方法中。问题是每个视图都必须实现上面的代码才能隐藏状态栏。是否有一种方法(以编程方式)将状态栏隐藏在应用程序的一个位置,以便整个应用程序没有状态栏? 我试图在AppDelegate中添加它,但它不起作用。
答案 0 :(得分:10)
打开您的app plist文件MyApp-Info.plist
,然后添加一行Status bar is initially hidden
和YES
值。
编辑:
如果您想以编程方式执行此操作,请在ApplicationDidFinishLaunching
:
[UIApplication sharedApplication].statusBarHidden = YES;
答案 1 :(得分:2)
如果您使用iOS>定位设备? 3.2,然后在AppDelegate类的application:didFinishLaunchingWithOptions:
方法中使用以下代码。
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];
答案 2 :(得分:2)
在Info.plist文件中将“状态栏最初隐藏”键设为“是” 你将在整个申请过程中获得隐藏状态栏。
如果您想通过有问题的方式进行操作,那么只需将此代码放在项目的Appdelegate.m文件中即可。
[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:NO];
答案 3 :(得分:0)
而不是基于UIView
创建新视图,子类UIView
(我们可以将其称为SummercView
)并向其添加viewDidLoad
方法,如下所示:
- (void) viewDidLoad
{
[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:NO];
[super viewDidLoad];
}
然后在您的xib或情节提要文件中,将要隐藏状态栏的视图设置为使用SummercView
而不是UIView
。
当然@Aadhira的答案也很好。 +1给他/她。
答案 4 :(得分:0)
你难道不能创建一个在viewDidLoad中执行此操作的视图类,并且您的视图是它的子类吗?他们仍然必须隐藏状态栏,但至少你不必复制每个子类中的代码。