控件总结

来源:互联网 发布:ipad淘宝怎么清除缓存 编辑:程序博客网 时间:2024/06/01 08:44
基本控件:
============Controls ============
Lable
Button
Segmented Control
Text Field
Slider
Switch
Activity Indicator View
Progress View
Page Control
Stepper
============Data Views ============
Table View
Table View Cell
Image View
Text View
Web View
Map View
Scroll View
Date Picker
Picker View
Ad BannerView
GLKit View
============Gesture Recognizers ============
Tap Gesture Recognizer
Pinch Gesture Recognizer
Rotation Gesture Recognizer
Swipe Gesture Recognizer
Pan Gesture Recognizer
Long Press Gesture Recognizer
============ Objects & Controllers ============
Object
External Object
View Controller
Table View Controller
Navigation Controller
Tab Bar Controller 
Page View Controller
GLKit View Controller
============Windows & Bars ============
View
Window
Navigation Bar
Navigation Item
Search Bar
Search Bar and Search Display Controller
Toolbar
Bar Button Item
Fixed Space Bar Button Item
Flexible Space Bar Button Item
Tab Bar
Tab Bar Item






接下来我们来逐个看看这四大类中,总共30多个控件。
Controllers:
View Controller:
负责管理内部的View,为附加在其上的工具条,导航条,以及多View管理提供支持,同时也负责在iPhone发生旋转时的响应。比如内置的safari浏览器,在屏幕横着放时,会把其中的内容也自动横转。
Navigation Controller:
负责管理一系列有堆栈一样关系的View Controller。同时也负责对导航条的具体行为进行管理。当向它所管理的View Controller堆栈内放入或者取出View Controller,它会更新导航条上的内容。比如内置的照片程序,在选中一个分类时,就是向View Controller堆栈内放入一个View Controller。反之,点击后退时,就是取出的操作。
Tab Bar Controller:
也是负责管理一系列的View Controller,但View Controller之间不存在什么必然联系,仅仅是把他们都并列的显示在标签条上。比如内置的App Store,几个标签之间没有什么必然的联系。
Table View Controller:
负责对表格(Table View)的管理,作为表格内部事件的响应者以及数据来源而存在。同时也提供对表格元素数量进行编辑的支持。比如内置的备忘录,可以点击+来添加新的一条记录,也可以通过编辑来去掉不要的记录。
Image Picker Controller:
负责从相册中选取照片,或者利用摄像头进行拍照的唯一控件。如果希望进行拍摄或者照片的选取,除了这个控件,是没有其他的选择的。比如系统内置的相机和照片。
Object:
严格的说它并不算完整的控件,在IB中出现只是为了解决有些朋友想要做一些自定义控件的时候,却发现IB内没有对应的控件可以拖拽到界面上的问题。
Proxy Object:
负责在两个IB文件(XIB)之间传递逻辑关系的控件。当在XCode内新建一个View-based Application后,打开其中的MainWindow.xib即可看到这种控件的应用了。


Data Views:
Table View:
用来显示一个单列的表格。一般作为Table View Controller的被管理对象而存在。表格的每行都是一个Table View Cell控件,在表格内可以对表格行数进行控制,比如添加,删除以及调整顺序等。同时表格还会有头部和脚部,有些类似于Word中的页眉和页脚的意思,可以在其内显示一些附加的信息。比如通信录中,进入每个联系人的细节信息后,头像和姓名部分就是在头部,而短信和添加到个人收藏这两个按钮就是在脚部。而表格还有平板式和群组式两种显示模式。依旧用通讯录举例,在全部联系人的列表界面中,就是一个平板式的表格的展现,而每个联系人的细节信息界面则是群组式的表格。
Table View Cell:
表格中具体的一行,在表格内要表示比较复杂信息时会被用到。可以设置被选中时的状态,背景,内部细节以及一些其他行为。依旧还是通讯录的例子,在联系人详细信息中,每行左侧的详情说明和右侧的详情信息,就属于内部细节,而对铃声一栏右侧箭头的响应就是对上面提到的其他行为的控制了。
Image View:
用来显示单张图片或者利用多张图片进行动画显示。
Scroll View:
这个一般用来显示一个比屏幕尺寸要大的内容,比如较大的图片。其实表格或者浏览器等,都内含了这个控件的应用。控件自带的延迟停止效果我觉得很出彩,同时结合只有在拖拽时才会出现的滚动条(可以设置),让我觉得这个控件很好的诠释了iPhone玩的特点。而浏览器中对网页利用多点触摸进行的缩放控制也是来自于这个控件的响应。
Web View:
类似在Scroll View部分提到过的浏览器,用来在程序中展示一个网页,相当于一个嵌入程序内部的浏览器,同时也提供前进和后退功能。
Text View:
一个用来显示、编辑多行文本的控件。iPhone有两个用来进行文本编辑的控件,另一个只允许单行编辑的Text Field控件将在后面被介绍到。包括字体、颜色、对齐方式等都可以进行设置,甚至可以向其中传入一段html代码来展现特殊形式的文本,比如不同段落不同颜色,部分字句变成粗体等。
Picker View:
以轮子的形式展现下拉菜单效果的控件,也是我个人觉得很帅气的一个控件。可以有多列,每一列是一个独立的轮子。轮子的每一行可以是文字,也可以是图片。
Date Picker:
在Picker View的基础上,实现了日期的选择,相当于是Picker View用法的一个例子了。在内置的始终设置,闹钟等地方都被用到。


Inputs & Values:
Segmented Control:
用来显示一个包含多状态的控件。每个状态都是一个按钮,其上的内容可以是图片,也可以是文字。同时也可以对每个状态的选择进行处理。内置的地图程序中搜索和线路之间的切换就是利用的这个控件
Label:
文本标签控件,用来显示只读的静态的文本,除非利用程序对其中内容进行替换,否则其内容是固定的。同时也支持多行显示,可以选择换行的方式,比如以词划分,以字划分还是直接把多出的部分变成省略号。也可以设置其中文本的颜色、阴影等属性。但无法像Text View一样接受HTML文本进行特殊显示。
Round Rect Button:
标准的按钮,可以设置文字、图片。也可以使用一些系统内置样式的按钮。而且可以为按钮的每一个状态设置不同的文字、图片。比如高亮时显示图片,平时是文字等等。
Text Field:
在Text View部分提到过的,iPhone上两个文字编辑的控件之一,只支持单行输入。但可以在上面附加一些其他的功能,比如清除按钮(在Text Field上出现的x样式的按钮),书签按钮等。也提供对输入密码时,显示为*进行保密的支持。
Switch:
开关控件,有是或否两种状态。不过这个控件会在不同的系统语言环境下有不一样的展现形式,在英文系统下,是Y/N,而在中文等系统下是1/0。
Slider:
横向滑块控件。一般利用中间的按钮进行拖拽从而控制要选择的位置,一些如控制音量的情况下,是会用到这个控件的。在iPhone上播放视频时就可以看到这个控件的应用。
Progress View:
进度条控件,最左侧为最小值0,最右侧为最大值1。中间用小数来控制位置。用来在一个可估算时间的耗时工作时显示进度。
Activity Indicator View:
提供一个不停旋转的指示标志。用来表示程序在进行某些不确定时长的处理。在有可估算时长的耗时工作时,最好使用Progress View进行显示。在系统中经常被用到,同时在网络有流量时,如果程序中进行了设置,也可以在屏幕上方的状态栏上看到这个小标志。
Page Control:
用来在分页时进行显示,iPhone的桌面就是这个控件最好的展示了。


Windows, Views & Bars:
Window:
是一个最基本的控件,用来提供一个可显示区域,是iPhone程序的根基了,每个程序都必不可少。
View:
也是一个基本控件,可以在其上进行绘制,也可以利用增加子View的方式来进行扩展。对于很多其他控件而言,View都是作为父类而存在的。那些以View作为父类的控件也就拥有了View的基本属性和方法。
Search Bar:
主要用在搜索操作中,包含一个可编辑的输入框(其实就是前面提到的Text Field)。内置的地图、App Store等多个程序中都有用到。
Navigation Bar:
导航条,是Navigation Item的载体。可以配合Navigation Controller工作,也可以单独工作。只有在单独工作时才以堆栈的形式管理Navigation Item(类似于Navigation Controller管理View Controller的形式)。
Navigation Item:
显示在Navigation Bar上的按钮,其实也就是一个Button。但有一些特殊的内置样式可以选用。
Toolbar:
工具栏,一般显示在屏幕下方,用来作为一些工具按钮的载体。内置的地图软件下方的一条,就是这个Toolbar了。
Bar Button Item:
一种特殊的按钮,是Toolbar上按钮的基本类型。可以自定义,同时也有一些系统内置的特殊样式以供选择。
Flexible Space Bar Button Item 和 Fixed Space Bar Button Item:
这两个比较类似,放到一起说吧。两个都是用来在Toolbar上占位用的,毕竟一堆按钮挤在一侧并不好看。Flexible的按钮会尽量将其两侧的按钮向远处推,而Fixed是可调节宽度的。举例来说,如果现在有3个Bar Button Item,一、二和三在Toolbar上,如果将两个Flexible分别放置在一和二之间以及二和三之间,那么得到的结果就是一、三在最左和最右,而二在正中。可如果用Fixed的话,则一和二以及二和三之间的间距可以随意调节。
Tab Bar:
标签栏。还记得前面提到过的Tab Bar Controller么?Tab Bar Controller是用来管理一系列的Controller,而Tab Bar并不明确规定管理什么。如果你的程序并不需要用Tab Bar Controller来管理一系列的Controller,但又想要Tab Bar的效果的话,这就是你的选择了。
Tab Bar Item:
放置在Tab Bar上的按钮,有一些内置的特殊样式可供选择,同时也可以自定义图片及文字,而这个Tab Bar Item需要的图片一般为32x32的背景透明png图,把你想要显示出来的部分画成纯黑色,其余的颜色变化就交给系统自己处理吧。
原创粉丝点击