iOS: 状态栏、导航栏、标签栏、工具栏
三种项目栏总结:
共同属性和方法:
@property(nonatomic,copy) NSArray *items; //按钮单元数组
- (void)setItems:(NSArray *)items animated:(BOOL)animated; //将按钮单元全部设置到项目栏上
注意:一个导航栏控制器只对应一个导航栏,例外,它同时有一个工具栏,不过默认状态下,它是隐藏的,如果需要,需要把它打开。一个标签栏控制器仅仅只有一个标签栏。
导航栏,标签栏,工具栏和状态栏
状态栏
虽然您难以控制状态栏的内容,但是您可以定制它的外观,并在一定程度上定制它的行为。具体来说,您可以:设定网络活动指示器是否应该可见。如果您的应用程序正在执行的一项网络操作会持续几秒钟以上,则应该显示网络活动指示器。如果该网络操作将在几秒钟之内完成,则不必显示网络活动指示器,因为它很可能在用户意识到它的存在之前便消失了。(在您的代码中,您可以使用UIApplication的方法networkActivityIndicatorVisible来控制指示器的可见性。)指定状态栏的颜色。您可以选择灰色(默认的颜色),不透明的黑色或半透明的黑色(也就是α值为0.5的黑色)。图6-2显示了这些样式。(请注意,您应该在Info.plist文件中设置一个值来指定状态栏的样式;更多相关的信息请参考iPhone应用程序编程指南。)设置是否应该采用动画方式显示状态栏颜色的改变。(请注意,动画效果会使旧的状态栏一直滑出屏幕,最后消失,同时新的状态栏会滑动到相应的位置上。)
导航栏
导航栏上的按钮周围有一圈带边角的框。在iPhone OS中,这种样式被称为边框样式。导航栏的所有控件都要使用边框样式。事实上,即使您在导航栏上放置一个无格式(没有边框)的控件,它也会自动转换为有边框的样式。虽然您可以为所有在导航栏中显示的文本指定字体,但为了可读性,推荐您使用系统字体。当您使用适当的UIKit编程接口创建导航栏时,其标题将自动采用系统字体来显示。
工具栏
对于工具栏上显示的项,最好对其数目加以限制,这样用户可以轻松地点击到他们所需的项。我们向您推荐的用户界面元素的点击区域为44 x 44像素,因此,为用户提供五个以下的工具栏项是比较合理的。虽然您既可以在工具栏中使用带边框样式的按钮,也可以使用无格式按钮,但是您不要将这两种样式在同一工具栏中混合使用。
标签栏
标签栏绝不应该被当做工具栏使用,区别在于工具栏上的按钮是对当前模式下的元素起作用的.标签栏使用标签显示图标和文本,这些标签的宽度一致,并且都以黑色为背景。当一个标签被选中时,它的背景变亮,标签中的图像也会高亮显示。
注意: 不管设备的方向如何变化,标签栏不会改变它的不透明性和高度。
如果您的应用程序的标签栏包含的标签数目超过五个,iPhone OS会在标签栏上显示四个标签,并添加一个“更多”标签.
隐藏标签栏的方式有两种:
第一种方式:通过设置视图控制器的hidesBottomBarWhenPushed属性(在视图加载成功之前)
第二种方式: 通过重新设置标签栏控制器视图的的两个子视图的frame(视图显示成功之中)
iOS: 状态栏、导航栏、标签栏、工具栏的更多相关文章
- IOS 改变导航栏返回按钮的标题
IOS 改变导航栏返回按钮的标题 下午又找到了一个新的方法 这个方法不错 暂时没有发现异常的地方. 新写的App中需要使用UINavigationController对各个页面进行导航,但由于第一 ...
- iOS 11 导航栏 item 偏移问题 和 Swift 下 UIButton 设置 title、image 显示问题
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,bi ...
- [Xcode 实际操作]三、视图控制器-(4)使用UINavigationController导航栏和工具栏
目录:[Swift]Xcode实际操作 本文将演示如何显示和隐藏导航视图的导航栏和工具栏 打开第一个视图控制器 import UIKit class FirstSubViewController: U ...
- 获取不同机型微信小程序状态栏+导航栏高度
获取不同机型微信小程序状态栏+导航栏高度 一. 前言 很多时候我们开发微信小程序,都需要先知道状态栏和导航栏的高度,才能去做其他功能 二. 获取微信小程序状态栏高度 用wx.getSystemInfo ...
- iOS 状态栏、导航栏、工具栏、选项卡大小
1.状态栏状态栏一般高度为20像素,在打手机或者显示消息时会放大到40像素高,注意,两倍高度的状态栏在好像只能在纵向的模式下使用.如下图用户可以隐藏状态栏,也可以将状态栏设置为灰色,黑色或者半透明的黑 ...
- iOS 自定义导航栏 和状态栏
一.更改状态栏颜色 (StatusBar) 就是比如导航栏是红色的状态栏是绿色的. 要实现这样的效果其实很简单,就是添加一个背景view. 简单的实现过程如下: 1 // 设置导航颜色 可用 2 [s ...
- 如何控制iOS的导航栏和状态栏的样式
这是一个很常用的开发场景,就是改变导航栏上的文字颜色与背景色,如果你曾有 windows form 开发经验一定会笑我:"卧槽,这有什么好写的,不就是设置两个属性就可以了吗?" 我 ...
- ios隐藏导航栏底线条和导航、状态栏浙变色
方法一遍历法: 在你需要隐藏的地方调用如下代码 [self findlineviw:self.navigationBar].hidden = YES; -(UIImageView*)findlinev ...
- iOS 隐藏导航栏 隐藏状态栏
1导航栏 self.navigationController.navigationBarHidden = YES; 2 状态栏 [[UIApplication sharedApplication] s ...
- iOS 获取导航栏和状态栏的高度
CGRect rect = [[UIApplication sharedApplication] statusBarFrame]; 状态栏的高度: float status height = rec ...
随机推荐
- Codeforces 877C Slava and tanks(思维)
题目链接:http://codeforces.com/problemset 题目大意:有n个格子,某些格子里可能有一个或多个坦克,但不知道具体位置,每个坦克被轰炸一次就会移动到相邻的格子里(第1个格子 ...
- [python] windows文件迁移
目的: 处理windows系统文件迁移,文件格式包含特殊字符(空格,括号,全角等) 语言: python 模块: shutil 代码: #coding:utf-8 import os,sys im ...
- 175. Combine Two Tables
Table: Person +-------------+---------+ | Column Name | Type | +-------------+---------+ | PersonId ...
- CentOS7下Samba的安装与配置
一.Samba简介 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享 ...
- linux 进程命令小结
top:动态查看进程的变化 ps:将某个时间点的进程运行情况选取下来 ps -l :仅查看自己的bash相关进程 ps -aux :查看系统所有的进程 pstree :列出目前系统上面所有的进程树的相 ...
- Junit3.8源码--核心类
好久没画图了,看下这个序列图,还算比较清晰的: 以textui来分析: Test 顶层接口.TestSuite和TestCase均实现此接口,在具体执行的时候面向此接口编程,弱化类型,实现各自的执行流 ...
- cobol COMP-3最后1位
"C" hex is positive, "D" hex is negative, and "F" hex is unsigned.
- 【BZOJ 1455】 1455: 罗马游戏 (可并堆-左偏树+并查集)
1455: 罗马游戏 Description 罗马皇帝很喜欢玩杀人游戏. 他的军队里面有n个人,每个人都是一个独立的团.最近举行了一次平面几何测试,每个人都得到了一个分数. 皇帝很喜欢平面几何,他对那 ...
- eclipse汉化 adt汉化
韩梦飞沙 韩亚飞 313134555@qq.com yue31313 han_meng_fei_sha
- 【POJ 3974】Palindrome
http://poj.org/problem?id=3974 Manacher模板题.Menci的博客讲得很好 有一点:Menci的代码中的right我感觉是代表能延伸到的最右端点的右边的点,因为r( ...