zoukankan      html  css  js  c++  java
  • statusBar状态栏_03

    iOS7 中的StatusBar和之前版本的相比发生了很大变化,在iOS7下对statusbar的使用需要全新的方法,现在就总结以下statusbar的方法: 

    • 样式 
    • 显示和隐藏 
    • 动画效果 
    • 默认无StatusBar 

    1. 样式 

    StatusBar有两种样式: 

    •  UIStatusBarStyleDefault :

         

    • UIStatusBarStyleLightContent 

         

    要改变StatusBar的显示样式需要在UIViewController中重载: 

    - (UIStatusBarStyle)preferredStatusBarStyle
    {
        return UIStatusBarStyleLightContent;
    }

    这个方法不能直接调用,在需要改变样式的地方调用:[self setNeedsStatusBarAppearanceUpdate] 

    示例: 

    - (void)viewWillAppear:(BOOL)animated
    {
        [self setNeedsStatusBarAppearanceUpdate];
    }

    2. 显示和隐藏 

    显示和隐藏StatusBar只要在UIViewController中重载: 

    - (BOOL)prefersStatusBarHidden
    {
        return YES;
    }

    同样式改变一样需要调用 [self setNeedsStatusBarAppearanceUpdate] 方法 

    3. 动画效果 

    现在有两种动画效果:UIStatusBarAnimationFade ,UIStatusBarAnimationSlide.从他们的名字可以得知他的具体是什么眼的效果。 实现动画需要重载: 

    - (UIStatusBarAnimation )preferredStatusBarUpdateAnimation
    {
        return UIStatusBarAnimationSlide;
    }

    但是重载这个方法后,并没有动画效果。这时,我们需要把 [self setNeedsStatusBarAppearanceUpdate] 放在动画block中执行:

    [UIView animateWithDuration:0.3
                     animations:^{
                        [self setNeedsStatusBarAppearanceUpdate];
    }];

    这样动画效果就出现了。 

    4. 默认无StatusBar 

    有一些应用默认就没有Statusbar如: 

     

    这样的应用很丑,总感觉缺点什么,但是有些产品经理就是喜欢。 

    要实现这种效果,最需要在项目配置plist文件总将Status bar is initially hidden 字段设置为 YES, 添加View controller-based status bar appearance 字段, 并将值设置为 NO:

    
    
    
    
    
    
  • 相关阅读:
    python快速查看内置模块函数
    kettle -小技巧 null 跳过唯一索引
    IOException:Connection refused:connect Kettle连接数据库
    各种数据库的jdbc驱动下载及连接方式
    DataCleaner中文文档
    ModuleNotFoundError: No module named 'xlwt' 。
    liunx 常用命令
    Mysql 环境搭建详解
    查询mysql所有表数据、字段信息
    mysqp pk、nn、qu、b、un、zf、ai、g代表的意思
  • 原文地址:https://www.cnblogs.com/yipingios/p/5528993.html
Copyright © 2011-2022 走看看