UIKit

一、UIKit.framework目录
    1、    IOS目录  
    $1   /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/System/Library/Frameworks/UIKit.framework
    $2   /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1.sdk/System/Library/Frameworks/UIKit.framework

二、UIKit.h分析
  $1

//
//  UIKit.h
//  UIKit
//
//  Copyright (c) 2005-2012, Apple Inc. All rights reserved.
//
#import <UIKit/UIKitDefines.h>  一些宏定义
#import <UIKit/UIAccelerometer.h> 加速计处理,检测iphone手机在x.y.z轴三个轴上的加速度
#import <UIKit/UIAccessibility.h>     辅助应用,主要为了残疾人士
#import <UIKit/UIActivityIndicatorView.h>  提供旋转进度轮
#import <UIKit/UIActivity.h>   活动对象,抽象类
#import <UIKit/UIActivityItemProvider.h >  代理角色,需要数据时提供
#import <UIKit/UIActivityViewController.h>  标准的view controller,提供一些标准的服务和自定义服务
#import <UIKit/UIAlert.h>  提示框
#import <UIKit/UIApplication.h>   提供了iOS程序运行期间的控制和协作工作
#import <UIKit/UIBarButtonItem.h>  提供工具栏按钮和导航按钮
#import <UIKit/UIBarItem.h>  抽象类,提供自定义外观接口
#import <UIKit/UIBezierPath.h>  绘图(曲线)处理
#import <UIKit/UIButton.h>  按钮控件
#import <UIKit/UICollectionView.h> 集合视图
#import <UIKit/UICollectionViewCell.h> 集合视图单一数据处理
#import <UIKit/UICollectionViewController.h> 提供了iOS程序运行期间的控制和协作工作
#import <UIKit/UICollectionViewFlowLayout.h> 流布局对象
#import <UIKit/UICollectionViewLayout.h>   集合抽象类
#import <UIKit/UIColor.h>   自定义颜色
#import <UIKit/UIControl.h>  创建用户界面控件对象
#import <UIKit/UIDataDetectors.h> 探测器结构体定义
#import <UIKit/UIDatePicker.h>  日期/时间选择器(滚轮)
#import <UIKit/UIDevice.h> 设备信息处理
#import <UIKit/UIDocument.h>   前端数据文件管理抽象类
#import <UIKit/UIDocumentInteractionController.h>  一个文档交互控制器,提供用于管理本地系统中的文件与用户交互的应用程序的支持
#import <UIKit/UIEvent.h> 触摸事件,运动事件和远程控制的事件
#import <UIKit/UIFont.h>用于获取和设置字体信息
#import <UIKit/UIGeometry.h> 几何控制,提供转化方法
#import <UIKit/UIGestureRecognizer.h>  用于检测发生在设备中的手势,抽象类,定义了所有手势的基本行为
#import <UIKit/UIGraphics.h>  图表处理,截图
#import <UIKit/UIImage.h>  图片处理
#import <UIKit/UIImagePickerController.h>  摄像处理
#import <UIKit/UIImageView.h>   图片视图加载处理
#import <UIKit/UIInterface.h>  界面UIcolor, UIFont 定义
#import <UIKit/UILabel.h>  文本视图处理
#import <UIKit/UILocalNotification.h> 本地通知处理
#import <UIKit/UILocalizedIndexedCollation.h>  自定义表索引栏
#import <UIKit/UILongPressGestureRecognizer.h> 多手势处理
#import <UIKit/UIManagedDocument.h> core data database的容器
#import <UIKit/UIMenuController.h> 菜单界面处理
#import <UIKit/UINavigationBar.h> 导航栏
#import <UIKit/UINavigationController.h> 导航视图
#import <UIKit/UINib.h> NIB文件处理
#import <UIKit/UINibDeclarations.h> IBOutlet宏定义
#import <UIKit/UINibLoading.h> NIB文件加载处理
#import <UIKit/UIPageControl.h> 分页控件
#import <UIKit/UIPageViewController.h>  分页视图控件
#import <UIKit/UIPanGestureRecognizer.h>  探测拖拽手势
#import <UIKit/UIPasteboard.h>  剪贴板
#import <UIKit/UIPickerView.h> 选取器(滚轮)
#import <UIKit/UIPinchGestureRecognizer.h>  手势 放大和缩小
#import <UIKit/UIPopoverController.h>   弹出控制器视图
#import <UIKit/UIPopoverBackgroundView.h>  弹出控制器背景处理
#import <UIKit/UIPrintError.h>  输出错误处理
#import <UIKit/UIPrintFormatter.h> 输出格式化
#import <UIKit/UIPrintInfo.h>  打印信息处理
#import <UIKit/UIPrintInteractionController.h>  提供了一个打印的用户界面和管理打印文件
#import <UIKit/UIPrintPageRenderer.h> html转化PDF
#import <UIKit/UIPrintPaper.h>  打印处理
#import <UIKit/UIProgressView.h> 进度条
#import <UIKit/UIReferenceLibraryViewController.h> 参考库视图控制器
#import <UIKit/UIRefreshControl.h>  下拉刷新
#import <UIKit/UIResponder.h> 触摸响应事件处理
#import <UIKit/UIRotationGestureRecognizer.h> 图像移动,旋转,缩放
#import <UIKit/UIScreen.h> UIScreen类代表了屏幕
#import <UIKit/UIScreenMode.h>  获得某个具有特定尺寸像素比例的屏幕的信息
#import <UIKit/UIScrollView.h> 拖动视图处理
#import <UIKit/UISearchBar.h> 搜索处理
#import <UIKit/UISearchDisplayController.h>  基于UISearchBar搜索处理
#import <UIKit/UISegmentedControl.h>  分段按钮处理
#import <UIKit/UISlider.h>  滑块控件
#import <UIKit/UISplitViewController.h>  左右分栏控件
#import <UIKit/UIStepper.h>  数字输入控件UIStepper
#import <UIKit/UIStoryboard.h>Storyboard界面生成器
#import <UIKit/UIStoryboardPopoverSegue.h>打开多个窗口按钮
#import <UIKit/UIStoryboardSegue.h>  Storyboard的Segue,用于视图切换
#import <UIKit/UIStringDrawing.h>  屏幕绘图
#import <UIKit/UISwipeGestureRecognizer.h> 手势响应处理
#import <UIKit/UISwitch.h> 选择按钮控件
#import <UIKit/UITabBar.h> 标签栏
#import <UIKit/UITabBarController.h> 标签栏控制器
#import <UIKit/UITabBarItem.h> 标签栏上的按钮设置
#import <UIKit/UITableView.h> 表格视图
#import <UIKit/UITableViewHeaderFooterView.h> 设置表格 section的header, footer#import <UIKit/UITableViewCell.h> 表格单元数据处理
#import <UIKit/UITableViewController.h> 表格视图控制器
#import <UIKit/UITapGestureRecognizer.h> 点击事件处理
#import <UIKit/UITextChecker.h> 文本验证
#import <UIKit/UITextField.h> 文本设置处理
#import <UIKit/UITextInput.h> 文本输入交互协议
#import <UIKit/UITextInputTraits.h>  键盘类型设置
#import <UIKit/UITextView.h> 多行文本控件
#import <UIKit/UIToolbar.h> 工具栏
#import <UIKit/UITouch.h> 触摸时间处理
#import <UIKit/UIVideoEditorController.h> 视频编辑处理
#import <UIKit/UIView.h> 视图对象
#import <UIKit/UIViewController.h> 视图控制器
#import <UIKit/UIWebView.h> 内置浏览器控件#import <UIKit/UIWindow.h> 管理和协调应用程序显示在屏幕上的窗口
#import <UIKit/NSAttributedString.h> 字符串显示多样化
#import <UIKit/NSText.h> 多行文本处理
#import <UIKit/NSParagraphStyle.h>段落样式对象
#import <UIKit/NSShadow.h>  绘制阴影效果
#import <UIKit/NSStringDrawing.h>  绘画文字
#import <UIKit/NSLayoutConstraint.h>   自动布局处理
#import <UIKit/UIStateRestoration.h> 提供持久数据的引用接口

三、UIKit视图层次分类

1、容器
    容器视图用于增强其它视图的功能,或者为视图内容提供额外的视觉分隔。比如,UIScrollView类可以用于显示因内容太大而无法显示在一个屏幕上的视图。UITableView类是UIScrollView类的子类,用于管理数据列表。表格的行可以支持选择,所以通常也用于层次数据的导航—比如用于挖掘一组有层次结构的对象。

UIToolbar对象则是一个特殊类型的容器,用于为一或多个类似于按键的项提供视觉分组。工具条通常出现在屏幕的底部。Safari、Mail、和Photos程序都使用工具条来显示一些按键,这些按键代表经常使用的命令。工具条可以一直显示,也可以根据应用程序的需要进行显示。

2、 控件
    控件用于创建大多数应用程序的用户界面。控件是一种特殊类型的视图,继承自UIControl超类,通常用于显示一个具体的值,并处理修改这个值所需要的所有用户交互。控件通常使用标准的系统范式(比如目标-动作模式和委托模式)来通知应用程序发生了用户交互。控件包括按键、文本框、滑块、和切换开关。

3、显示视图
    控件和很多其它类型的视图都提供了交互行为,而另外一些视图则只是用于简单地显示信息。具有这种行为的UIKit类包括UIImageView、 UILabel、UIProgressView、UIActivityIndicatorView。

4、文本和web视图
    文本和web视图为应用程序提供更为高级的显示多行文本的方法。UITextView类支持在滚动区域内显示和编辑多行文本;而UIWebView类则提供了显示HTML内容的方法,通过这个类,您可以将图形和高级的文本格式选项集成到应用程序中,并以定制的方式对内容进行布局。

5、警告视图和动作表单
    警告视图和动作表单用于即刻取得用户的注意。它们向用户显示一条消息,同时还有一或多个可选的按键,用户通过这些按键来响应消息。警告视图和动作表单的功能类似,但是外观和行为不同。举例来说,UIAlertView类在屏幕上弹出一个蓝色的警告框,而UIActionSheet类则从屏幕的底部滑出动作框。

6、导航视图
    页签条和导航条和视图控制器结合使用,为用户提供从一个屏幕到另一个屏幕的导航工具。在使用时,您通常不必直接创建UITabBar和UINavigationBar的项,而是通过恰当的控制器接口或Interface Builder来对其进行配置。

7、窗口
    窗口提供一个描画内容的表面,是所有其它视图的根容器。每个应用程序通常都只有一个窗口。UIwindow

四、UIKit和视图对象之间的交互

1、用户触击屏幕。

2、硬件将触击事件报告给UIKit框架。

3、UIKit框架将触击信息封装为一个UIEvent对象,并派发给恰当的视图。

4、视图的事件处理方法可以通过下面的方式来响应事件:

1:调整视图或其子视图的属性变量(边框、边界、透明度等)。
        2:将视图(或其子视图)标识为需要修改布局。
        3:将视图(或其子视图)标识为布局需要重画。
        4:将数据发生的变化通报给控制器。

时间: 2024-10-09 00:13:49

UIKit的相关文章

UIKit框架之UIButton详解

UIKit框架是iPhone应用程序开发中最基本的框架,也是用得最多.最重要的框架,今天要和大家分享的就是UIKit中的UIButton相关知识,一起来看看吧. 1.实例化: 1.1.init方式: 1 UIButton *button = [[UIButton alloc] initWithFrame:rect]; 1.2.类方法方式: 1 UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 其中按钮类型枚

自定义UICollectionLayout布局 —— UIKit之学习UICollectionView记录一《瀑布流》

一.思路 思路一:比较每一行所有列的cell的高度,从上到下(也就是从第一行开始),从最短的开始计算,(记录下b的高度和索引,从开始计算,依次类推) 思路二:设置上.下.左.右间距和行间距.列间距及列数. 思路三:实现的重要的方法. 二.代码先行. 1.自定义layout类. //入口 #import <UIKit/UIKit.h> @protocol STRWaterLayoutDelegate; @interface STRWaterLayout : UICollectionViewLay

UIKit框架各个类的简介

1.UIAcceleration: 被叫做加速事件的一个UIAcceleration类的实例是用来代表即时的三维加速数据.为了接收重力加速度,要注册一个应用应用程序作为一个共享UIAccelerater对象的委托对象(参考UIAcceleromete类). 2. UIAccelerater: UIAccelerater类可以让你的寄存器接收到从板载硬件上得到的加速相关数据.当设备移动时,它的硬件能够报告沿主线在三维空间中的线性加速度变化.你可以利用这些数据来检测器件的电流方向和该方向的瞬时变化.

Foundation和UIKit框架图

学习Foundation和UIKit的时候比较容易忽视的一个问题: 对于一个新的类,知道它的用法和属性方法,但往往忽视了它的继承关系, 了解类的继承关系能帮助加深对其理解. 另外在官方文档中每一个类的继承关系和遵守的协议都写得十分清楚,学习时首先应该看官方文档 拿UIStoryboard举例 Inherits from  (继承自什么类) Conforms to   (遵守了哪些协议) Framework    (属于哪个框架 出现的时间)   框架图 Foundation UIKit 这个框架

转:AFNetworking 与 UIKit+AFNetworking 详解

资料来源 : http://github.ibireme.com/github/list/ios GitHub : 链接地址 简介 : A delightful iOS and OS X networking framework. 推荐参考 : http://afnetworking.com http://www.aiuxian.com/article/p-1537192.html 链接地址一. 文件目录 链接地址1. AFNetworking 目录内容 链接地址2. UIKit+AFNetwo

第五讲:OpenGL坐标系和UIKit坐标系、锚点、addChild函数详解

一.坐标系 OpenGl坐标系 原点在左下角(0,0),与数据的二维坐标系一致 UIKit坐标系 又称为屏幕坐标系,原点在左上角,X轴越右越大,Y轴越下越大: 由OpenGL转化为UIKit的方法: CCPoint point = CCDirector::sharedDirector()->convertToUI(sp1->getPosition); 二.锚点 锚点默认为(0.5,0.5) 就是在精灵的中间 : *****坐标系已锚点定位(先确定锚点在哪,ccp(X,Y)是描述锚点在哪个位置)

iOS -初识UIKit

UIKit框架:UI界面上每一个元素都是一个对象 一张图片是UIimageView对象 一段文字是一个UILabei对象 一个按钮是一个UIButton对象 搭建UI界面的步骤 利用类创建对象 将对象显示到屏幕上 QuartzCore:提供动画特效以及通过硬件进行渲染的能力 CoreGraphics:提供2D绘制的基于C的API CoreLocation:使用GPS和WiFi获取位置信息 MapKit:为应用程序提供内嵌地图的接口 AVFoundation:音频.视频处理 开发过程中需要完成一些

iOS.UIKit.11.UIPickerView

一.案例介绍:点击UIButton,将选中的省市信息显示在UILabel中,如图01,02 图01图02 二.案例步骤: 1.选择Simple View Aplication,取名cq.37.普通选择器,如图03 图03 2.Main.storyboard,如图04 3.provinces_cities.plist 4.CQ37ViewController.h #import <UIKit/UIKit.h> @interface CQ37ViewController : UIViewContr

【UIKit】控制器之间的切换2 【Push】

[控制器切换Push][?Code] 1.创建3个xib和控制器 2.在AppDelegate中设置首先启动的页面 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window=[[UIWindow alloc]initWithFrame:[[UIScreen mainScreen]bounds] ]; self.

【UIKit】控制器之间的切换1 【Modal】

[Modal][?Code] 1.首先有2个控制器,并且都拥有视图界面. ? 2.点击登录后,第二个页面会从下方上移,那就得在第一个界面中首先创建另外一个界面.然后转向 首先得加载一个协议,这个就是第二个页面的代理. <LoginViewControllerDelegate> 2).点击登录进行转向 - (IBAction)Login { // 初始化控制器 LoginViewController *login=[[LoginViewController alloc]init]; login.