2016-11-16 15:10:14 u011496891 阅读数 1867

@interface SecondViewController ()
@property (nonatomic, assign,getter=isHideStatus) BOOL hideStatus;
@end

@implementation SecondViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    self.view.backgroundColor = [UIColor whiteColor];

    UIButton *button  = [[UIButton  alloc] initWithFrame:CGRectMake(0, 0, 300, 200)];
    button.center = self.view.center;
    button.backgroundColor = [UIColor blueColor];
    [button setTitle:@"隐藏导航栏" forState:UIControlStateNormal];
    [button addTarget:self action:@selector(hideFrame) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:button];

    self.hideStatus = [UIApplication sharedApplication].statusBarHidden;

    // Do any additional setup after loading the view, typically from a nib.
}


- (void)hideFrame {

    [self setNeedsStatusBarAppearanceUpdate];//调用该方法后系统会调用prefersStatusBarHidden方法
    self.hideStatus = !self.hideStatus;

}
- (BOOL)prefersStatusBarHidden
{
    return self.hideStatus;
}


2015-11-06 15:15:22 lwjok2007 阅读数 11602

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)

 如果没有 点击+添加

完成之后 效果如下



运行项目 看看效果 是不是 隐藏的,方法二出来之后所有页面不用设置 默认都是 隐藏状态栏的


好了 大家可以加群继续讨论学习

苹果开发群 :492222303  欢迎加入  欢迎讨论问题



2016-03-04 12:40:53 sevenquan 阅读数 602

1、隐藏导航条

//    self.navigationController.navigationBarHidden = YES;//隐藏导航条

//    [self.navigationController setNavigationBarHidden:YES animated:YES]; //隐藏导航条


2、隐藏状态栏

-(BOOL)prefersStatusBarHidden

{

    //    [[UIApplication sharedApplication] setStatusBarHidden:YES];//ios9以后失效了

    return YES;

}


转载请注明出处 : http://write.blog.csdn.net/postedit

iOS交流群:496146057

2017-04-26 15:46:58 CC1991_ 阅读数 1410

今天在做webView跳转的时候,遇到一个涉及状态栏的问题,这里就分享一下隐藏状态栏的方法。

一、整个项目隐藏状态栏。

在Targets->General->勾选Hide status bar即可。

 

二、单一某个界面隐藏状态栏的方法,比如个人中心、登录、注册等界面。

1.首选需要在info.plist里面添加 View controller-based status bar appearance选项,并且设置为 NO;

2.在需要改变状态栏的ViewController类中添加以下代码:

//生命周期--进入时隐藏
- (void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
//隐藏:YES,  显示:NO,  Animation:动画效果
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];
}
//生命周期--退出时显示
- (void)viewWillDisappear:(BOOL)animated{
[super viewWillDisappear:animated];
//隐藏:YES, 显示:NO ,Animation:动画效果
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationNone];

 

三、启动界面隐藏状态栏,进入程序后正常显示状态栏。

1.这个相当于综合了上面两个方法,首先需要在Targets->General->勾选Hide status bar 或者 在info.plist里面添加 View controller-based status bar appearance选项,并且设置为 NO;

2.在AppDelegate.m文件中添加以下代码:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  [application setStatusBarHidden:NO withAnimation:UIStatusBarAnimationFade];
}

 

隐藏状态栏ios

阅读数 692

iOS隐藏状态栏

阅读数 304

没有更多推荐了,返回首页