UIKit根据图上的UI控件都大致简单的写一下希望对iOS开发感兴趣的同学有帮助。想深入的同学可以查阅相关文档中的方法,如有不对的地方希望指出来 一起学习进步。
打好基础是深入学习的前提所以还是从了解框架开始吧。
-
UIAcceleration
加速事件,表示立即的三维加速度数据。 要接收加速度计事件
是用来检测iphone手机在x.y.z轴三个轴上的加速度
-
UIAccelerometer
传感器 接收来自板载硬件的加速相关数据。例如: 距离 加速器 内部温度 等
-
UIAccessibilityElement
UIKit里的所有标准视图和控件都实现了 UIAccessibility 协议
-
UIBarItem
一个抽象超类,可以添加到显示在屏幕底部的条的项目
子类
-
UIBarButtonItem
标签类子类:导航栏的按钮
UITabBarItem
标签类子类:标签栏的按钮
-
UIBezierPath
iOS 中的贝塞尔曲线类
-
UIColor
控制颜色类
-
UIDevice
使用UIDevice对象获取有关设备的信息,例如分配的名称,设备型号以及操作系统名称和版本。您还可以使用UIDevice实例来检测设备特性(如物理方向)的更改。关电池充电状态充电级别的信息和通知提供对接近传感器状态的访问(由proximityState属性描述)。接近传感器检测用户是否将设备靠近他们的脸部。只在需要时启用电池监测或接近感测。 自定义输入和键盘附件视图中播放键盘输入点击。
-
UIDocumentInteractionController
使用此类来呈现用于预览,打开,复制或打印指定文件的适当用户界面
在打开文件后呈现其用户界面之后,文档交互控制器处理支持文件预览和菜单显示所需的所有交互。
您也可以使用委托来参与所呈现的界面中发生的交互。 例如,当一个文件即将被移交给另一个开放的应用程序时,通知委托人。
具体交互调用实现UIDocumentInteractionControllerDelegate代理方
-
UIEvent
应用程序可以接收许多不同类型的事件,包括触摸事件,动作事件,远程控制事件和新闻事件。触摸事件是最常见的,并传送到最初发生触摸的视图。运动事件是UIKit触发的,与Core Motion框架报告的运动事件是分离的。远程控制事件允许响应者对象从外部附件或耳机接收命令,以便管理音频和视频,例如播放视频或跳到下一个音频轨道。新闻事件表示与游戏控制器,AppleTV遥控器或具有物理按钮的其他设备的交互。您可以使用类型和子类型属性来确定事件的类型。
触摸事件对象包含与事件有关的触摸(即,屏幕上的手指)。触摸事件对象可以包含一个或多个触摸,并且每个触摸由UITouch对象表示。
-
UIFont
UIFont为您提供对字体特征的访问,同时还提供系统访问字体的字形信息,这是在布局过程中使用的。 通过将字体对象传递给接受它们作为参数的方法来使用字体对象。
-
UIGestureRecognizer
手势识别 用于获取用户点击事件识别触摸并作出处理,当这些对象中的一个识别到一个共同的手势,或者在某些情况下,手势发生改变时,它向每个指定的目标对象发送一个动作消息。
子类
-
UITapGestureRecognizer
手势类子类:点击手势,指定数量的手指必须敲击指定次数的视图(默认是1次)。尽管点击是离散的手势,但是对于手势识别器的每个状态它们是离散的;因此相关联的动作消息在手势开始时被发送,并且针对每个中间状态被发送,直到(并且包括)手势的结束状态
-
UIPinchGestureRecognizer
手势类子类: 捏合手势 当用户将两个手指朝向彼此移动时,传统意义是缩小; 当用户将两个手指彼此移开时,传统意义是放大。
-
UIRotationGestureRecognizer
标签类子类:旋转手势 当用户以圆周运动的方式彼此相对地移动手指时,底层视图应当以相应的方向和速度旋转。
-
UISwipeGestureRecognizer
手势类子类:清扫手势轻扫是一种离散的手势,因此相关的动作消息每个手势只发送一次。
-
UIPanGestureRecognizer
手势类子类:平移手势 用户在平移时必须按下一个或多个手指。 实现此手势识别器的操作方法的客户端可以询问手势的当前平移和速度。
-
UIScreenEdgePanGestureRecognizer
手势类子类: 屏幕平移手势 在某些情况下,系统使用屏幕边缘手势来启动视图控制器转换。 您可以使用此类为您自己的操作复制相同的手势行为。
-
UILongPressGestureRecognizer
手势类子类:长按手势 用户必须在视图上按下一个或多个手指,并在触发动作之前将其保持在那里至少一段时间。 在下来时,用户的手指不能移动超过指定的距离; 如果他们移动超出指定的距离,则手势失败。
-
UIImage
图像管理 您使用图像对象来表示各种图像数据,UIImage类可以管理底层平台支持的所有图像格式的数据。
-
UILocalizedIndexedCollation
索引条 具有部分索引的表格视图对于显示和促进由诸如字母顺序排列方案组织的许多项目组成的数据的访问是理想的。
-
UILocalNotification
本地通知 操作系统负责在预定的时间发送本地通知;该应用程序不必为此发生运行。尽管本地通知类似于远程通知,但是它们用于显示警报,播放声音和标记应用程序图标,但是它们是在本地组合和传送的,不需要与远程服务器连接。(系统保持最多64个通知 剩余将忽略)
-
UIMenuController
单例UIMenuController实例被称为编辑菜单。当你使这个菜单可见时,UIMenuController相对于屏幕上的一个目标矩形定位它;这个矩形通常定义一个选择。该菜单出现在目标矩形的上方,或者如果没有足够的空间,则在其下方。菜单的指针被放置在目标矩形顶部或底部的中心。
-
UINavigationItem
导航栏 在构建导航界面时,每个推到导航堆栈上的视图控制器必须有一个UINavigationItem对象,该对象包含它想要在导航栏中显示的按钮和视图。
管理UINavigationController对象使用最顶层的两个视图控制器的导航项来填充导航栏的内容。
-
UINib
UINib对象将nib文件的内容缓存到内存中,准备进行解除存档和实例化。当您的应用程序需要实例化nib文件的内容时,可以这样做,而无需首先从nib文件加载数据,从而提高性能。
-
UIPasteboard
共享粘贴版 帮助用户在应用程序中将数据从一个地方分享到另一个地方,并从您的应用程序分享到其他应用程序。
-
UIPopoverController (专门用于iPad设备)
UIPopoverController类用于管理弹出窗口中的内容的显示。你用弹出来暂时呈现信息。弹出窗口内容分层放置在现有内容之上,背景会自动变暗。弹出窗口保持可见状态,直到用户点击弹出窗口之外,或者您明确解除弹出窗口。 (Popover控制器专门用于iPad设备。试图在其他设备上创建一个会导致异常 iOS9.0 一会废弃 使用)
-
UIprintFormatter
给定打印格式化程序,打印系统可以自动打印与打印格式化程序相关的内容类型。这样的内容的例子可以是网络视图,图像和文本的混合,或长文本文档。
子类
打印纯文本对象 打印可能在多个页面上放置的纯文本的对象。
打印HTML标记文本的 多页打印作业设置HTML标记文本的对象。
打印视图的绘制 用于列出要打印的视图的绘制内容
-
UIPrintInfo
打印设置信息: UIPrintInfo对象封装有关打印工作的信息,包括打印机标识符,作业名称,输出类型(照片,普通,灰度),方向(纵向或横向)以及任何所选的双面模式。 打印系统在打印时使用此信息。
-
UIPrintInteractionController
初始化打印实例 一个实例代表一个打印任务
打印工作包括要打印的内容以及与其打印相关的信息和选项,例如输出类型,作业名称,纸张大小和方向。
-
UIPrintPageRenderer
负责打印绘制内容页面
无论是否有打印格式化程序的协助,都会绘制要打印的内容页面。
-
UIPrintPaper
设置打印作业纸张的大小
打印作业的纸张大小以及可以打印内容的矩形。
-
UIScreen
设置主屏幕和零个或多个屏幕连接
定义与基于硬件的显示相关的属性的对象。iOS设备有一个主屏幕和零个或多个连接的屏幕。 tvOS设备具有连接到设备的电视的主屏幕。使用此类来获取连接到设备的每个显示屏幕的屏幕对象。每个屏幕对象都定义了相关显示的边界矩形和其他有趣的属性,例如其亮度
-
UIScreenMode(如果没有太多改动的话苹果建议用UIScreen)
设置连接屏幕的缓存区域和像素的宽高比
屏幕模式对象封装有关屏幕底层显示缓冲区大小的信息以及它用于单个像素的宽高比。 大多数开发人员不应该使用这个类提供的信息,而应该简单地使用UIScreen对象提供的边界来绘制空间。 屏幕和窗口对象的边界会自动考虑像素宽高比和底层绘图硬件。 但是,更直接处理像素级信息的开发人员可能会使用当前屏幕模式对象中的信息来修改其目标屏幕的代码。
-
UISearchDisplayController (iOS 8.0 废弃 建议使用UISearchController)
搜索显示控制器管理搜索栏的显示以及显示搜索结果的表格视图。
您使用搜索栏和负责管理要搜索的数据的视图控制器来初始化搜索显示控制器。当用户开始搜索时,搜索显示控制器将搜索界面叠加在原始视图控制器的视图上,并在其表格视图中显示搜索结果。
-
UITextChecker
用于检查拼写时的单词的字符串并且可以让它学习单词。将单词添加到词典中。
UITextChecker使用给定语言的词典进行拼写检查。用于检查拼写错误的单词的字符串(通常是文档的文本) 您可以告诉它在拼写检查特定文档时忽略特定的单词,并且可以让它学习单词,将单词添加到词典中。 通常每个文档使用一个UITextChecker实例,但如果要共享被忽略的单词和其他状态,则可以使用单个实例拼写检查相关的文本片段
-
UITextInputStringTokenizer
文本输入标记器 (暂时没有用过)
-
UITextPosition
文本容器中的位置 - 即文本显示视图中的背景字符串的索引。
采用UITextInput协议的类必须创建自定义UITextPosition对象来表示由该类管理的文本内的特定位置。文本输入系统使用这些对象和UITextRange对象来传递文本布局信息。
-
UITextRange
获取文本容器中的字符范围,由支持文本输入对象的字符串中的开始索引和结束索引标识。
采用UITextInput协议的类必须创建自定义的UITextRange对象来表示由该类管理的文本内的范围。 范围的开始和结束索引由UITextPosition对象表示。 文本系统使用UITextRange和UITextPosition对象来传递文本布局信息。
-
UITouch
可以获取屏幕上发生的触摸的位置,大小,移动和力量的对象。
可以通过UIEvent对象访问触摸对象,传递给响应者对象以进行事件处理。
-
UIResponder
用于响应和处理事件的抽象接口。
UIResponder的实例 - 构成UIKit应用程序的事件处理主干。许多关键对象也是响应者,包括UIApplication对象,UIViewController对象和所有UIView对象(包括UIWindow)。当事件发生时,UIKit将它们分派给你的应用程序的响应者对象进行处理。触摸事件,动作事件,远程控制事件和新闻事件。为了处理特定类型的事件,响应者必须覆盖相应的方法,响应者还管理将未处理事件转发到应用程序的其他部分。如果给定的响应者不处理事件,则将该事件转发给响应者链中的下一个事件。 UIKit动态地管理响应者链,使用预定义的规则来确定接下来哪个对象应该接收事件。也可以通过输入视图接受自定义输入
子类
-
UIApplicarion
UIApplication对象是应用程序的象征。每一个应用程序都有自己的UIApplication对象,而且是单例。一个iOS程序启动后创建的第一个对象就是UIApplication对象。通过
UIApplication *app = [UIApplication sharedApplication];
可以获得这个单例对象。利用UIApplication对象能进行一些应用级别的操作。
-
UIViewController
视图控制器管理器
视图控制器管理构成应用程序用户界面一部分的一组视图。 它负责加载和处理这些视图,管理与这些视图的交互,并协调与任何适当的数据对象的响应。 视图控制器还与其他控制器对象(包括其他视图控制器)协调工作,并帮助管理您的应用程序的整体界面。
-
UItabBarController
标签栏界面显示窗口底部的选项
标签栏界面显示窗口底部的选项,用于在不同模式之间进行选择,并显示该模式的视图。
-
UINavigationController
导航界栏
导航界面可以有效地呈现您的数据,并使用户更容易浏览该内容。 您通常按原样使用此类,但您也可以子类来自定义类行为。导航界面呈现的屏幕通常模仿您的数据的层次结构。
-
UIImagePickerController
拍摄照片和录像
管理可自定义的系统提供的用户界面的对象,用于在支持的设备上拍摄照片和电影,以及选择保存的图像和电影以供在您的应用程序中使用。
-
UIVideoEditorController
视频编辑器
UIVideoEditorController是一个视频编辑器,通过系统提供的UI界面来剪切视频或者降低视频的画质.UIVideoEditorController对象处理用户的交互并且提供把编辑后的视频的文件系统路径提供给UIVideoEditorControllerDelegate对象.
UIVideoEditorController只支持能够支持视频编辑的设备.
UIVideoEditorController和UIImagePickerController的主要区别是前者能提供视频的编辑,后者主要用于录像或者视频的选择.
-
UIView
UIView类是定义了所有视图内容显示部分
视图是应用程序用户界面的基本组成部分,UIView类定义了所有视图通用的行为。 视图对象在其边界矩形内呈现内容,并处理与该内容的任何交互。UIView类是一个具体的类,您可以实例化并使用它来显示固定的背景颜色。 您也可以将其子类化以绘制更复杂的内容。 要显示应用程序中常见的标签,图像,按钮和其他界面元素
-
UIWebView
在应用中嵌入网页(H5)内容的视图。
-
UISearchBar
搜索框
UISearchBar提供了一个输入文本的文本框,一个搜索按钮,一个书签按钮和一个取消按钮。 搜索栏实际上不执行任何搜索。 您可以使用代理(一个符合UISearchBarDelegate协议的对象)在输入文本并单击按钮时执行这些操作。
-
UIAlertView(iOS 8.0废弃 建议使用UIAlertControllerStyleAlert 代替)
居中警报弹出框
使用UIAlertView类向用户显示警报消息。警报视图功能与操作表(UIActionSheet的一个实例)功能相似但外观不同。
-
UIActionSheet (iOS 8废弃弃 建议使用UIAlertControllerStyleActionSheet代替)
底部弹出警报弹出框
使用UIActionSheet类向用户展示如何继续进行给定任务的一组替代方案。您还可以使用操作表来提示用户确认潜在的危险操作。操作表包含一个可选的标题和一个或多个按钮,每个按钮对应于要采取的操作。
-
UITableViewCell
自定义单元格
用于设置和管理单元格内容和背景(包括文本,图像和自定义视图)的属性和方法,管理单元格选择和高亮显示状态,管理辅助视图以及启动单元格内容的编辑。
-
UINavigtionBar
导航按钮
用于在屏幕层次结构内进行导航的按钮。 主要组件是一个左(后退)按钮,一个中心标题和一个可选的右键。 您可以将导航栏作为独立对象或与导航控制器对象结合使用。
-
UItoolbar
工具栏
要创建工具栏项目,请使用UIBarButtonItem类。要将工具栏项添加到工具栏.表示项目正常和突出显示状态的工具栏图像来自您使用UIBarItem类的继承的图像属性设置的图像。在iOS 7.0中,图像使用工具栏的tintColor进行着色。在UINavigationController导航控制器中存在UIToolBar的,而且默认时被隐藏的
-
UItabbar
标签栏
您将标签栏与UITabBarController对象结合使用,但是您也可以在应用程序中将它们用作独立控件。标签栏始终显示在屏幕的底部边缘,并显示一个或多个UITabBarItem对象的内容。标签栏的外观可以通过背景图像或色调来定制,以适应您的界面需求。点击一个项目选择并高亮显示该项目,然后使用该项目的选择为您的应用启用相应的模式
-
UIimageView
显示UIImage对象中的图像视图
图像视图使您可以高效地绘制任何可以使用UIImage对象指定的图像。
-
UIActivityIndicatorView
加载框告知用户有一个操作正在进行中。
可以通过调用startAnimating和stopAnimating方法来控制活动指示器的动画。 要在动画停止时自动隐藏活动指示符,请将hidesWhenStopped属性设置为YES。
-
UIProgressView
可自定义的加载框
UIProgressView类提供了用于管理进度条样式以及获取和设置固定到任务进度的值的属性。
-
UIPickerView
选取器视图
选取器视图显示用户操纵选择项目的一个或多个选择框。 每个选择框(称为组件)都有一系列代表可选项目的索引行。 每行显示一个字符串或视图,以便用户可以识别该行上的项目。 用户通过将选择框旋转到与选择指示符对齐的期望值来选择项目。
-
UILable
显示一行或多行只读文本的视图
视图文本的外观是可配置的,并且可以显示属性字符串,允许您自定义标签中子字符串的外观。 您可以以编程方式或使用Interface Builder将标签添加到您的界面。
-
UIWindow
应用程序用户界面背景并提供重要事件处理行为的对象
Windows没有任何自己的视觉外观,但是它们对于呈现应用视图至关重要。屏幕上显示的每个视图都被一个窗口包围,每个窗口都与应用中的其他窗口无关。您的应用程序收到的事件最初路由到相应的窗口对象,然后将这些事件转发到适当的视图。 Windows使用您的视图控制器来实现方向更改,并执行许多其他任务,这些任务对于您的应用程序的操作至关重要。
-
UIControl
控件的基类,它是传达响应用户交互的特定动作或意图的视觉元素。
控制实施元素,如按钮和滑块,您的应用程序可能使用这些元素来帮助导航,收集用户输入或操纵内容。 控件使用目标操作机制将用户交互报告给您的应用程序。
-
UIButton
按钮控件执行代码以响应用户交互的控件。
当你点击一个按钮,或者选择一个具有焦点的按钮时,该按钮执行附加的任何动作。 您使用文本标签,图像或两者来传达按钮的用途。 按钮的外观是可配置的,所以你可以点击按钮或格式标题来匹配你的应用程序的设计
-
UIDatePicker
用于输入日期和时间值的控件
您可以使用日期选择器来允许用户输入时间点(日历日期,时间值或两者)或时间间隔(例如,计时器)。 日期选择器向与其关联的目标对象报告交互。
-
UIPageControl
翻页滚动效果中的底部小点(滚动试图 或轮播图中的小点)
显示一系列水平点的控件,每个点对应于应用程序文档或其他数据模型实体中的页面。有关页面控件的示例,请参阅Weather应用程序,该应用程序被配置为显示多个位置的信息。
当用户点击页面控件移动到下一页或上一页时,控件将发送UIControlEventValueChanged事件以供委托处理。 委托可以评估currentPage属性以确定要显示的页面。 页面控件只在任一方向上前进一页。 当前查看的页面用白点表示。 取决于设备,在裁剪之前屏幕上会显示一定数量的点
-
UISegmentedControl
分段控制器
分段控件可以显示标题(NSString对象)或图像(UIImage对象)。 UISegmentedControl对象会自动调整段的大小,使它们在超级视图中按比例匹配,除非它们具有特定的宽度。 添加和删除片段时,可以请求使用滑动和淡化效果动画。
-
UITextField
文本编辑器
您可以使用文本字段来使用屏幕键盘从用户收集基于文本的输入。 键盘可以配置许多不同类型的输入,如纯文本,电子邮件,数字等等。 文本字段使用目标操作机制和委托对象来报告在编辑过程中所做的更改
-
UISlider
进度条试图
当您移动滑块的大拇指时,会将其更新后的值传递给附加的任何动作。 滑块的外观是可配置的; 您可以对曲目和大拇指进行着色,并提供出现在滑块末端的图像。
-
UISwitch
开关控件
UISwitch类声明一个属性和一个方法来控制它的开/关状态。 和UISlider一样,当用户操纵开关控制(“翻转”)时,会产生一个UIControlEventValueChanged事件,这会导致控件(如果配置正确)发送一个动作消息
-
UIScrollView
滚动试图
UIScrollView对象的中心概念(或简单地说是一个滚动视图)是它的原点可以在内容视图上调整的视图。它将内容剪辑到框架中,通常(但不一定)与应用程序的主窗口一致。滚动视图跟踪手指的移动并相应地调整原点。通过滚动视图显示其内容的视图根据新的原点绘制其自身部分,该原点固定在内容视图中的偏移量处。除了显示垂直和水平滚动指示符以外,滚动视图本身没有绘制。滚动视图必须知道内容视图的大小,以便知道何时停止滚动;默认情况下,当滚动超出内容的范围时,它会“反弹”。
管理滚动视图中显示的内容的绘图的对象应平铺内容的子视图,以便视图不超过屏幕的大小。当用户在滚动视图中滚动时,该对象应根据需要添加和删除子视图。
因为滚动视图没有滚动条,所以它必须知道触摸是否意味着滚动的意图,而不是意图跟踪内容中的子视图。为了做出这个决定,它通过启动一个定时器暂时拦截一个触发事件,在定时器触发之前,看看触摸手指是否有任何移动。如果定时器在没有显着位置变化的情况下触发,则滚动视图将追踪事件发送到所触摸的内容视图的子视图。如果用户在计时器过去之前拖动手指足够远,则滚动视图将取消子视图中的任何跟踪,并执行滚动本身。子类可以覆盖touchesShouldBegin:withEvent:inContentView:,pagingEnabled和touchesShouldCancelInContentView:方法(由滚动视图调用)来影响滚动视图如何处理滚动手势。
滚动视图还可以处理内容的缩放和平移。当用户进行捏合或捏大手势时,滚动视图调整内容的偏移和缩放。当手势结束时,管理内容视图的对象应该根据需要更新内容的子视图。 (请注意,手势可能会结束,手指仍然可能会下降。)手势正在进行时,滚动视图不会向子视图发送任何跟踪调用。
UIScrollView类可以有一个必须采用UIScrollViewDelegate协议的委托。为了缩放和平移工作,委托必须实现viewForZoomingInScrollView:和scrollViewDidEndZooming:withView:atScale:;此外,最大(最大缩放比例)和最小(最小缩放比例)缩放比例必须不同。
-
UITabelview
表格试图
表视图显示单列中的项目列表。 UITableView是UIScrollView的子类,它允许用户滚动表格,尽管UITableView只允许垂直滚动。包含该表的各个项目的单元是UITableViewCell对象; UITableView使用这些对象来绘制表格的可见行。单元格具有内容标题和图像,并且可以在右边缘附近具有附件视图。标准附件视图是披露指标或详细披露按钮;前者导致数据层次中的下一个层次,后者导致所选项目的详细视图。附件视图也可以是框架控件,如开关和滑块,也可以是自定义视图。表视图可以进入编辑模式,用户可以插入,删除和重新排序表的行。
一个表视图由零个或多个部分组成,每个部分都有自己的行。部分在表格视图中由它们的索引号标识,并且行由部分内的索引号标识。任何部分都可以选择在部分标题之前,并且可以选择后跟部分页脚。
表视图可以有两种样式中的一种,UITableViewStylePlain和UITableViewStyleGrouped。当你创建一个UITableView实例时,你必须指定一个表格样式,这个样式不能改变。在普通样式中,如果完整部分的部分是可见的,则节标题和页脚将浮动在内容上方。一个表视图可以有一个索引,在表的右边显示为一个条(例如,“A”到“Z”)。您可以触摸特定标签以跳转到目标部分。表视图的分组样式为所有单元格提供默认背景颜色和默认背景视图。背景视图为特定部分中的所有单元格提供可视分组。例如,一个小组可以是一个人的名字和标题,另一个小组用于电话号码,另一个小组用于电子邮件帐户等等。有关分组表的示例,请参阅设置应用程序。分组样式中的表视图不能有索引。
UITableView的许多方法都以NSIndexPath对象为参数
-
UITextView
文本试图
UITextView支持使用自定义样式信息显示文本,并支持文本编辑。 您通常使用文本视图来显示多行文本,例如在显示大型文本文档的正文时。
该类通过使用属性文本属性支持多种文本样式。 (样式文本在iOS 6之前的iOS版本中不受支持。)为此属性设置值将使文本视图使用属性字符串中提供的样式信息。 您仍然可以使用font,textColor和textAlignment属性来设置样式属性,但这些属性适用于文本视图中的所有文本。 建议您使用文本视图(而不是UIWebView对象)在您的应用中显示普通文本和富文本文本。
网友评论