导航栏、标签栏、工具栏、状态栏

饶曦之
2023-12-01
在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会在标签栏上显示四个标签,并添加一个“更多”标签.
 类似资料: