在iPhone屏幕中,状态栏占用20点,导航栏(或工具栏)占用44点,标签栏占用49点。实际上, 这些在iPhone屏幕和iPad上也持不变。

UINavigationBar-导航栏(导航视图)
与导航控制器是一对一的关系,管理一个视图栈,用来显示树形结构中的视图。
导航栏主要用于导航,考的是整个应用,而工具栏应用于前界面,考的是局部界面。
UINavigationItem。导航栏项目,在每个界面中会看到。分为左、中、右3个区域,左侧趋于一般放置一个返回按钮(设定属性是backBarButtonItem)或左按钮(设定属性是leftBarButtonItem), 右侧区域一般放置一个右按钮(设定属性是rightBarButtonItem),中间区域是标题(属性是title) 或者提示信息(属性是prompt)。导航栏与导航栏项目是一对多的关系,导航栏的栈中存 放的是导航栏项目,处于栈顶的导航栏项目是我们前看到的导航栏项目。

Tab Bar -标签栏(导航视图)
UITabBarItem

UIToolbar-工具栏(容器视图)
在iPhone中,工具栏位于屏幕部,其按钮数不能超过5个,如果超过5个,第5个按钮(最后一个)是更多按钮。
在iPad中,工具栏位于屏幕,按钮的数没有制。
在工具栏中,我们除了可以放置UIBarButtonItem外,还可以放置其自定义视图,这种操作只有在其它特殊情况下才会下使用。

在UIBarButtonItem中,除了我们看到的按钮外,还有固定空格和可变空格,它们的作用是在各个按钮之间插入一定的空间。
UIBarButtonItem是工具栏和导航栏中的按钮。

状态栏
虽然您难以控制状态栏的内容,但是您可以定制它的外观,并在一定程度上定制它的行为。具体来说,您可以:
1、设定网络活动指示器是否应该可见。如果您的应用程序正在执行的一项网络操作会持续几秒钟以上,则应该显示网络活动指示器。如果该网络操作将在几秒钟之内完成,则不必显示网络活动指示器,因为它很可能在用户意识到它的存在之前便消失了。(在您的代码中,您可以使用UIApplication的方法networkActivityIndicatorVisible来控制指示器的可见性。)
2、指定状态栏的颜色。您可以选择灰色(默认的颜色),不透明的黑色或半透明的黑色(也就是α值为0.5的黑色)。图6-2显示了这些样式。(请注意,您应该在Info.plist文件中设置一个值来指定状态栏的样式;更多相关的信息请参考iPhone应用程序编程指南。)
3、设置是否应该采用动画方式显示状态栏颜色的改变。(请注意,动画效果会使旧的状态栏一直滑出屏幕,最后消失,同时新的状态栏会滑动到相应的位置上。)

导航栏
导航栏上的按钮周围有一圈带边角的框。在iPhone OS中,这种样式被称为边框样式。导航栏的所有控件都要使用边框样式。事实上,即使您在导航栏上放置一个无格式(没有边框)的控件,它也会自动转换为有边框的样式。
虽然您可以为所有在导航栏中显示的文本指定字体,但为了可读性,推荐您使用系统字体。当您使用适当的UIKit编程接口创建导航栏时,其标题将自动采用系统字体来显示。

工具栏
对于工具栏上显示的项,最好对其数目加以限制,这样用户可以轻松地点击到他们所需的项。我们向您推荐的用户界面元素的点击区域为44 x 44像素,因此,为用户提供五个以下的工具栏项是比较合理的。
虽然您既可以在工具栏中使用带边框样式的按钮,也可以使用无格式按钮,但是您不要将这两种样式在同一工具栏中混合使用。

标签栏
标签栏绝不应该被当做工具栏使用,区别在于工具栏上的按钮是对当前模式下的元素起作用的.
标签栏使用标签显示图标和文本,这些标签的宽度一致,并且都以黑色为背景。当一个标签被选中时,它的背景变亮,标签中的图像也会高亮显示。
注意: 不管设备的方向如何变化,标签栏不会改变它的不透明性和高度。
如果您的应用程序的标签栏包含的标签数目超过五个,iPhone OS会在标签栏上显示四个标签,并添加一个“更多”标签.

导航栏、标签栏、工具栏、状态栏相关推荐

  1. 固定导航栏android,Android 状态栏和导航栏的真终极解决方案

    去年我写过一篇文章,透明状态栏和导航栏的终极解决方案,并在 Github 上开源了代码,https://github.com/Zackratos/UltimateBar,其实在那之后,我一直对这个项目 ...

  2. IOS15的导航栏高度和状态栏高度和tabBar高度的获取

    IOS15的导航栏高度和状态栏高度和tabBar高度的获取 这都2021年11月份了.还在有人使用[UIApplication sharedApplication].keyWindow 这样过期的ap ...

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

    在iOS应用程序开发时,UIKit 框架提供了大量的UI元素共开发者使用.但开发者设计应用程序的用户界面时,一定要记得用户对于系统内置的那一套应用程序已经非常熟悉,所以开发者一定要正确的使用这些UI元 ...

  4. IOS界面元素四栏(状态栏、导航栏、工具栏、TAB栏)设计规范

    1 栏  1.1 状态栏   状态栏展示于设备和当前环境相关的重要信息.   外观和行为:状态栏总是出现在屏幕顶部,包含网络连接.时间.电量等用户需要的信息   在iPhone上,状态栏的颜色会变.而 ...

  5. uniAPP 禁用原生导航栏 和 获取状态栏高度 和 使用(间距掉)

    小程序的原生导航栏是禁用不了的 因为他会用有一些东西,H5 和  安卓.IOS 是可以禁用的: 官网找到 appplus 配置编译到 App 平台时的特定样式,部分常用配置 H5 平台也支持.以下仅列 ...

  6. uniapp自定义导航栏与手机状态栏重叠问题

    HBuildX 创建的应用默认是沉浸式样式,去除自带的导航栏后,页面直通手机顶部状态栏,即页面与手机状态栏重叠问题 处理:配置mainfest.json来关闭沉浸式,打开应用的manifest.jso ...

  7. Android隐藏底部虚拟导航栏及系统状态栏终极方案

    前言: 笔者最近做一个平板的项目需要彻底隐藏系统状态栏及底部虚拟导航栏从而达到全屏的效果,试了很多方案都不太好,有些虽然能达到类似效果,但会因为其他因素例如弹框,手上滑而失去效果.在大部分项目是够用的 ...

  8. 使用uniapp编译多端,自定义导航栏高度、状态栏的高度

    使用uniapp框架编译多端,在使用自定义导航栏的时候需要适配不同手机,在安卓和ios上手机的状态栏高度是不一样的,尤其是小程序. uni.getSystemInfo(); //在小程序上使用这个方法 ...

  9. 导航栏,标签栏,工具栏和状态栏

    本文摘自iPhone人机界面指南 导航栏,标签栏,工具栏和状态栏 状态栏,导航栏,标签栏和工具栏在iPhone应用程序中具有特别定义的外观和行为的视图.它们不需要在每个应用程序中都出现(在那些令人惊叹 ...

最新文章

  1. python多久学会自学-python自学多久
  2. jvm垃圾回收器(《深入理解java虚拟机》)
  3. 1024 - 十月里 - 金桂飘香 - 送给喜欢编程的你
  4. 技术领导者携力为数据中心和其它市场带来开放的加速架构
  5. how to connect to eduroam
  6. Spring定时任务高级使用篇
  7. Mac下Vmware Fusion配置虚拟机虚拟网卡并配置CENTOS上网
  8. java读取properties文件详解
  9. Nginx教程(三) Nginx日志管理 (转)
  10. 天线分类特征学习笔记(1)偶极子天线
  11. Onvif客户端与服务器通信时鉴权的自实现
  12. linux uvc协议_UVCCamera-master
  13. 可视化图表告诉你,《人世间》《余生,请多指教》到底爆没爆?
  14. Android:SQLite数据库学习小结
  15. 【JS】导出合并表格
  16. 深入浅出再谈Unity内存泄漏
  17. 猿链猿哥:IKO,Initial Keepsake Offering,首次纪念品发行
  18. oracle import mapping,ORACLE 数据泵导入导出数据
  19. [BZOJ4668]冷战
  20. 新年找工作的注意啦:一般通用面试内容【转】

热门文章

  1. MySql 如何将一维表变成二维表
  2. quartz/Cron/Crontab表达式在线生成工具
  3. Java 实现HTTP请求的四种方式总结
  4. 环境配置 | ubuntun16.04下卸载matlab
  5. expect命令简介及使用案例
  6. IDEA如何建立 包中包
  7. 股票入门基础知识笔记
  8. HDP vs CDH
  9. java线程之生产者与消费者
  10. ZigBee学习笔记——(二)IEEE 802.15.4无线传感器网络通信标准