【转】iPhone获取状态栏和导航栏尺寸(宽度和高度)

原文网址:http://blog.csdn.net/chadeltu/article/details/42708605

iPhone开发当中,有时需要获取状态栏和导航栏高度、宽度信息,方便布局其他控件。下面介绍一下如何获取这些信息:

[objc] view plain copy

  1. // 状态栏(statusbar)
  2. CGRect rectStatus = [[UIApplication sharedApplication] statusBarFrame];
  3. NSLog(@"status width - %f", rectStatus.size.width); // 宽度
  4. NSLog(@"status height - %f", rectStatus.size.height);   // 高度
  5. // 导航栏(navigationbar)
  6. CGRect rectNav = self.navigationController.navigationBar.frame;
  7. NSLog(@"nav width - %f", rectNav.size.width); // 宽度
  8. NSLog(@"nav height - %f", rectNav.size.height);   // 高度

打印结果如下:

[plain] view plain copy

    1. 2015-01-14 13:22:22.206 app_name[226:60b] status width - 320.000000
    2. 2015-01-14 13:22:22.209 app_name[226:60b] status height - 20.000000
    3. 2015-01-14 13:22:22.210 app_name[226:60b] nav width - 320.000000
    4. 2015-01-14 13:22:22.211 app_name[226:60b] nav height - 44.000000
时间: 2024-10-29 00:54:28

【转】iPhone获取状态栏和导航栏尺寸(宽度和高度)的相关文章

iOS获取状态栏和导航栏尺寸(宽度和高度)

iPhone开发当中,有时需要获取状态栏和导航栏高度.宽度信息,方便布局其他控件.下面介绍一下如何获取这些信息: // 状态栏(statusbar) CGRect rectStatus = [[UIApplication sharedApplication] statusBarFrame]; NSLog(@"status width - %f", rectStatus.size.width); // 宽度 NSLog(@"status height - %f", r

android 自定义状态栏和导航栏分析与实现

效果 android 4.4之后,系统是支持自定义状态栏和导航栏的,举个最典型的例子就是bilibili客户端了(iOS版本和android版本能用两套完全不一样符合各自系统的设计ui,良心啊-),顶部状态栏为粉色,底部导航栏为半透明色: 接着QQ最新的版本6.2也使用了状态栏透明风格,但是出来的效果在不同版本,不同手机上,显示的效果真是差异很大(4.3版本是无法使用状态栏透明风格的,只是放出来做个对比): ------------------------------------ -------

关于状态栏与导航栏的设置及自定义

关于状态栏和导航栏遇到的设置问题 1:statusBar字体为白色 在plist里面设置View controller-based status bar appearance 为 NO:设置statusBarStyle 为 UIStatusBarStyleLightContent 2:设置statusBar和navigationbar为一体 [nav.navigationBar setBackgroundImage:[UIImage imageNamed:@"bg_navbar.png"

改变状态栏和导航栏的透明度

如何实现这个半透明效果呢? 步骤一: 为UIImage类添加静态方法: extension UIImage { static func imageWithColor(color: UIColor) -> UIImage { let rect = CGRect(x: 0, y: 0, width: 1, height: 1) UIGraphicsBeginImageContext(rect.size) let context = UIGraphicsGetCurrentContext() CGCo

iOS 更改状态栏、导航栏颜色的几种方法

ios上状态栏 就是指的最上面的20像素高的部分状态栏分前后两部分,要分清这两个概念,后面会用到: 前景部分:就是指的显示电池.时间等部分:背景部分:就是显示黑色或者图片的背景部分: (一)设置statusBar的[前景部分] 简单来说,就是设置显示电池电量.时间.网络部分标示的颜色, 这里只能设置两种颜色: 默认的黑色(UIStatusBarStyleDefault)白色(UIStatusBarStyleLightContent)可以设置的地方有两个:plist设置里面 和 程序代码里初始化设

Android 4.4 沉浸式透明状态栏与导航栏

安卓4.4才有的沉浸式状态栏 在代码设置: if(VERSION.SDK_INT >= VERSION_CODES.KITKAT) { //透明状态栏 getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); //透明导航栏 getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); } 直接调用上面2行代码可以

Android隐藏状态栏、导航栏

Android隐藏状态栏.导航栏 [java] view plain copy private void hideStatusNavigationBar(){ if(Build.VERSION.SDK_INT<16){ this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); }else{ int uiFlags = View

对系统版本为4.4及以上的开启 透明状态栏和导航栏(即沉浸式状态栏)

/*对系统版本为4.4及以上的开启 透明状态栏和导航栏(即沉浸式状态栏)*/ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { Window window = getWindow(); // Translucent status bar window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, WindowManager.LayoutParams.FL

设置状态栏和导航栏

// 初始化导航栏外观效果 - (void)initialNavigationBarStyle { // 1. 获取导航栏的外观代理对象 UINavigationBar *navBar = [UINavigationBar appearance]; // 2. 设置背景图片 [navBar setBackgroundImage:[UIImage imageNamed:@"NavBar64"] forBarMetrics:UIBarMetricsDefault]; /** UIBarMe