基本控件:
============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图,把你想要显示出来的部分画成纯黑色,其余的颜色变化就交给系统自己处理吧。
分享到:
相关推荐
总结来说,"Qt自绘控件-旋转的时钟"是一个结合了Qt自定义控件、图形绘制、事件处理、时间更新、样式定制和布局管理的综合性示例。通过学习和实践这个案例,开发者可以深入理解Qt GUI编程的多个核心概念和技术。
总结了下常用的Kettle控件功能说明。输入、输出、转换、流程、脚本等等
### 总结 通过上述分析,我们可以看出,使用VB实现控件绕定点旋转的关键在于正确地计算新坐标,并及时更新控件位置。这一技术不仅能够提升应用程序的视觉效果,还能增强用户体验,是图形界面设计中不可或缺的一部分...
ASP.NET是一种强大的Web应用程序开发框架,...总结来说,用户控件和自定义控件是ASP.NET中构建可复用、高效且高度定制界面的重要工具。通过理解和熟练运用这些控件,开发者能够创建出更加丰富、用户友好的Web应用程序。
本文将从DXperience控件的基本使用到一些高级应用进行详细的经验总结,希望这些经验能够帮助开发者快速掌握DevExpress控件,并提高开发效率。 1. 应用Office 2007和Office 2010的界面主题 开发者可以为自己的应用...
总结起来,创建一个WPF自定义旋钮控件涉及到了对WPF基础的深入理解,包括模板、依赖属性、事件处理、动画和布局。这个过程不仅可以提升开发者的技术能力,还能提供一个独特而富有交互性的用户界面元素。通过学习和...
#### 五、总结 本文详细介绍了MFC中标准控件的使用方法,并探讨了不同控件之间的转换与交互机制。通过合理使用这些控件,开发者可以构建出功能丰富且用户友好的Windows应用程序。理解这些控件的工作原理和技术细节...
总结来说,Abakus仪表控件集为Delphi开发者提供了一套强大而全面的工具,使得创建专业级别的仪表界面变得轻而易举。无论是在工业自动化、物联网应用,还是在数据分析和监控系统中,Abakus都能帮助开发者快速构建出既...
总结来说,"玩转Flash控件实现自定义菜单"涉及到的关键技术有:C# 2008的Windows Forms编程、第三方控件集成、Flash Player ActiveX控件、ActionScript与C#之间的通信(ExternalInterface)、以及菜单系统的设计和...
总结来说,菜单控件是GUI设计中的核心元素,通过属性设置可以实现丰富的视觉效果和交互方式。修复BUG和优化界面控件对于提供良好的用户体验至关重要。而"colormenu"则可能是实现这一目标的具体代码实现或素材,对于...
#### 五、总结 通过以上步骤,我们不仅了解了如何创建和使用自定义控件,还掌握了如何利用QT提供的工具和API来增强应用的功能性和灵活性。自定义控件的开发过程虽然可能较为复杂,但它为开发者提供了极大的自由度,...
总结来说,创建自定义控件不仅锻炼了我们的编程技巧,还让我们更好地理解了Android图形绘制和事件处理的机制。通过实践这个自定义时钟控件项目,初学者可以深入了解Android UI开发,并为后续更复杂的自定义控件开发...
总结来说,C#验证码控件是C#开发中不可或缺的安全组件,它能够帮助开发者构建更安全的用户验证机制,防止自动化攻击。通过理解并熟练掌握其特性和用法,开发者可以更好地保护自己的应用程序免受恶意活动的影响。
### 总结 通过上述方法,我们能够在C#中有效地实现控件数组,无论是通过定义动态控件数组还是利用窗体的控件集合,都能显著提升开发效率和代码质量。同时,事件响应的统一管理进一步增强了控件数组的灵活性和实用性...
**总结** VC++中的树状控件和列表控件是强大的UI工具,能灵活地展现层次结构数据和表格数据。通过熟练掌握它们的使用,开发者可以创建出高效且用户友好的应用程序。在实际开发中,应结合具体需求,灵活运用各种方法...
总结来说,将VC++的Edit控件增强为日期输入控件,需要我们深入理解MFC框架,掌握控件的消息处理机制,以及熟练运用Windows API和MFC类库提供的功能。通过自定义CEdit类,我们可以实现一个功能完善的日期输入控件,...
总结而言,文档强调了WPF控件编程是构建Windows客户端应用程序的基石,详细介绍了WPF核心控件的分类、WPF编程模型的核心概念,以及控件在实际应用程序中的应用和调试方法。通过对WPF控件的深入研究,开发者可以构建...
总结一下,重写控件进度条控件的过程包括以下几个步骤: 1. 创建一个新类,继承自System.Windows.Forms.ProgressBar。 2. 重写Value属性或添加新的Percentage属性,以百分比方式控制进度。 3. 处理Paint事件,实现在...
标题“android 控件翻转切换布局(转)”暗示我们将讨论如何在Android应用中创建这样一个功能。 在Android中,控件翻转通常通过动画来实现,比如使用`ObjectAnimator`或自定义`Animator`类。此外,`ViewFlipper`和`...