1、UIKit 框架基本结构

  • 1)控件

    • 屏幕上的所有 UI 元素都叫做控件(也有叫做视图、组件),比如按钮(UIButton)、文本(UILabel)都是控件。

    • 为了便于开发者打造各式各样的优秀 App,UIKit 框架提供了非常多功能强大又易用的 UI 控件,但并不是每一个都很常用,有些控件可能 1 年内都用不上,有些控件天天用,比如 UIButton、UILabel、UIImageView、UITableView 等等。

    • 每个控件都是个容器,能容纳其他控件。内部小控件是大控件的子控件,大控件是内部小控件的父控件。

    • 一个控件看不见有哪些可能:

      • 宽度或者高度其实为 0
      • 位置不对(比如是个负数或者超大的数,已经超出屏幕)
      • hidden == YES
      • alpha <= 0.01
      • 没有设置背景色、没有设置内容
      • 可能是文字颜色和背景色一样
  • 2)控件坐标系

    • 在 UIKit 中,坐标系的原点(0,0)在左上角,x 值向右正向延伸,y 值向下正向延伸。

1.1 各控件之间的层次结构

			   |—— UIAcceleration
|
|—— UIAccelerometer
|
|—— UIAccessibilityElement
|
|—— UIActivity
| |—— UIBarButtonItem
|—— UIBarItem ——————————————————————-|
| |—— UITabBarItem
|—— UIBeziPath
|
|—— UIColor
|
|—— UIDevice
|
|—— UIDocumentInteractionController
|
|—— UIEvent
|
|—— UIFont |—— UILongPressGestureRecognizer |—— UIWindow
| | |
|—— UIGestureRecognizer —————————————|—— UIPanGestureRecognizer |—— UILabel
| | |
|—— UIImage |—— UIPinchGestureRecognizer |—— UIPickerView
| | |
|—— UILocalizedIndexedCollation |—— UIRotationGestureRecognizer |—— UIProgressView
| | |
|—— UILocalNotification |—— UISwipeGestureRecognizer |—— UIActivityIndicatorView |—— UITextView
| | | |
|—— UIMenuController |—— UITapGestureRecognizer |—— UIImageView |—— UITableView
| | |
NSObject ——|—— UIMenuItem |—— UIScrollView ——————————————-——|—— UICollectionView
| |
|—— UINavigationItem |—— UITabBar
| |
|—— UINib |—— UIToolbar |—— UIStepper
| | |
|—— UIPasteboard |—— UINavigationBar |—— UIButton
| | |
|—— UIPopoverController |—— UISimpleTextPrintFormatter |—— UITableViewCell |—— UIDatePicker
| | | |
|—— UIPrintFormatter ———————————————-|—— UIMarkupTextPrintFormatter |—— UIActionSheet |—— UIPageControl
| | | |
|—— UIPrintInfo |—— UIViewPrintFormatter |—— UIAlertView |—— UISegmentedControl
| | |
|—— UIPrinInteractionController |—— UISearchBar |—— UITextField
| | |
|—— UIPrintPageRender |—— UIApplication |—— UIWebView |—— UISlider
| | | |
|—— UIPrintPaper |—— UIView ———————————————————————|—— UIControl ————————————————————|—— UISwitch
| |
|—— UIResponder ———————————————-—————|—— UIViewController —————————————|—— UISplitViewController
| |
|—— UIScreen |—— UITabBarController
| |
|—— UIScreenMode |—— UITableViewController
| | |—— UIImagePickerController
|—— UISearchDisplayController |—— UINavigationController ————|
| | |—— UIVideoEditorController
|—— UITextChecker |—— UICollectionViewController
| |
|—— UITextInputStringTokenizer |—— UIPageViewController
| |
|—— UITextPosition |—— UIActivityViewController
|
|—— UITextRanger
|
|—— UITouch
|
|—— CMMotionManager

1.2 各控件关联说明

	UIWindow                          : UIView                     窗口

        UIApplication                     : UIResponder                应用

        UIView                            : UIResponder                视图

            UILabel                           : UIView                    标签
UIProgressView : UIView 进度条
UIAlertView : UIView 警告框
UIActionSheet : UIView 操作表
UIPickerView : UIView 选择框
UIActivityIndicatorView : UIView 风火轮
UIImageView : UIView 图像视图
UIWebView : UIView 网页视图
UIScrollView : UIView 滚动视图
UITextView : UIScrollView 多行文本视图
UIToolbar : UIView 工具条 UIControl : UIView 控制器 UITextField : UIControl 文本框控件
UIButton : UIControl 按钮控件
UISwitch : UIControl 开关按钮控件
UISegmentedControl : UIControl 选择控件
UISlider : UIControl 滑块控件
UIStepper : UIControl 微调器控件
UIDatePicker : UIControl 日期选择器控件 UIViewController : UIResponder 视图控制器 UITableViewController : UIViewController 表格视图控制器
UITableView : UIScrollView 表格视图
UITableViewCell : UIView 表格视图单元 UINavigationController : UIViewController 导航视图控制器
UINavigationBar : UIView 导航条 UITabBarController : UIViewController 标签视图控制器
UITabBar : UIView 标签条 UICollectionViewController : UIViewController 网格视图控制器
UICollectionView : UIScrollView 网格视图 UIPageViewController : UIViewController 页视图控制器
UIPageControl : UIControl 页控件 UISplitViewController : UIViewController 分割视图控制器 UIImagePickerController : UINavigationController 图像选择视图控制器 UIActivityViewController : UIViewController 分享视图控制器
UIActivity : NSObject 分享 UISearchController : NSObject 搜索视图控制器
UISearchBar : UIView 搜索条 UIAlertController : UIViewController 警告视图控制器 UIColor : NSObject 颜色 UIDevice : NSObject 设备信息 CMMotionManager : NSObject 加速度传感器 UIGestureRecognizer : NSObject 手势检测
UITapGestureRecognizer : UIGestureRecognizer 点击手势
UILongPressGestureRecognizer : UIGestureRecognizer 长按手势
UIRotationGestureRecognizer : UIGestureRecognizer 旋转手势
UIPinchGestureRecognizer : UIGestureRecognizer 捏合手势
UIPanGestureRecognizer : UIGestureRecognizer 拖动手势
UISwipeGestureRecognizer : UIGestureRecognizer 滑动手势 UITouch : NSObject 触摸 AudioServicesPlayAlertSound : 短频音效播放 AVAudioPlayer : NSObject 音频播放 MPMoviePlayerViewController : UIViewController 视频播放视图控制器
MPMoviePlayerController : NSObject 视频播放控件 AVPlayerViewController : UIViewController 音视频播放视图控制器
AVPlayer : NSObject 音视频播放控件

2、各控件功能说明

2.1 文字显示

2.2 进度显示

2.3 弹框提醒

2.4 滚动视图

2.5 内容选择

2.6 工具条

iOS - UIKit的更多相关文章

  1. iOS UIKit:viewController之动画(5)

    当弹出一个view controller时,UIKit提供了一些标准转换动画,并且也支持用户自定义的动画效果. 1 UIView动画 UIView是自带动画实现功能,其中有两种方式实现:        ...

  2. iOS UIKit:TableView之单元格配置(2)

    Table View是UITableView类的实例对象,其是使用节(section)来描述信息的一种滚动列表.但与普通的表格不同,tableView只有一行,且只能在垂直方向进行滚动.tableVi ...

  3. iOS UIKit:Navigation Controllers

    navigation controller是一种层次结构的container view controller,即其通过一个view controllers栈来管理内部的content view con ...

  4. iOS UIKit:viewController之定义(2)

    @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...

  5. iOS UIKit:viewController之层次结构(1)

    ViewController是iOS应用程序中重要的部分,是应用程序数据和视图之间的重要桥梁.且应用程序至少有一个view controller.每个view controller对象都负责和管理一个 ...

  6. iOS UIKit:view

    @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css); @import url(/ ...

  7. iOS UIKit:App

    1.App生命周期 IOS架构是由许多设计模式实现,如model-view-controller 和 delegation模式. 1.1 main函数 与其它框架类似,IOS框架的入口也是从main函 ...

  8. ios UIKit动力

    UIkit动力学是UIkit框架中模拟真实世界的一些特性. UIDynamicAnimator 主要有UIDynamicAnimator类,通过这个类中的不同行为来实现一些动态特性. 它一般有两种初始 ...

  9. ios UIKit动力 分类: ios技术 2015-07-14 12:55 196人阅读 评论(0) 收藏

    UIkit动力学是UIkit框架中模拟真实世界的一些特性. UIDynamicAnimator 主要有UIDynamicAnimator类,通过这个类中的不同行为来实现一些动态特性. 它一般有两种初始 ...

  10. iOS UIKit Dynamics入门 UIKit动力学,实现重力、连接、碰撞、悬挂等动画效果

    本文为转载文章 版权归原文所有 什么是UIKit动力学(UIKit Dynamics) 其实就是UIKit的一套动画和交互体系.我们现在进行UI动画基本都是使用CoreAnimation或者UIVie ...

随机推荐

  1. struts2结果类型

    struts2结果类型: 结果类型 描述 前request域属性是否丢失 1 dispatcher 用于与jsp整合的结果类型.默认结果类型. 2 chain Action链式处理结果类型.前一个Ac ...

  2. Android系统版本与API Level对照表

    Platform Version API Level VERSION_CODE Notes Android 4.2 17 JELLY_BEAN_MR1   Android 4.1, 4.1.1 16 ...

  3. 【PHP设计模式 08_CeLue.php】策略模式

    <?php /** * [策略模式]----和"简单工厂"模式很相似 * 根据不同运算符计算两个数的运算结果 * 常规方式就是判断运算符然后进行if...else的操作 * ...

  4. ACM题目————The Blocks Problem

    代码参考:http://www.hankcs.com/program/uva-q101-the-blocks-problem.html Description Background Many area ...

  5. raw_input() 与 input()

    这两个均是 python 的内建函数,通过读取控制台的输入与用户实现交互.但他们的功能不尽相同. >>> raw_input_A = raw_input("raw_inpu ...

  6. shell脚本判断文件类型

    转自:http://www.cnblogs.com/sunyubo/archive/2011/10/17/2282047.html 1. shell判断文件,目录是否存在或者具有权限 2. #!/bi ...

  7. Combox控件初始化项的技巧

    有时候combox下拉项就是几条固定的,不需要做数据绑定,但是如果直接采用字符串集合编辑器的时候,SelectedValue貌似会不起作用. 于是简单的封装一下 /// <summary> ...

  8. eclipse编辑jsp快捷键保存时特别卡的解决方法

    今天eclipse用着用着的时候,每次编辑jsp页面快捷键保存的时候要等半天才保存好,特别的卡.搞的很蛋疼.上网搜了下有解决办法 Window -> Preference -> Gener ...

  9. C++中的const详解

    const的用法,特别是用在函数后面 在普通的非 const成员函数中,this的类型是一个指向类类型的 const指针.可以改变this所指向的值,但不能改变 this所保存的地址. 在 const ...

  10. mysql获取当前时间,及其相关操作

    获取UNIX时间戳 : UNIX_TIMESTAMP(NOW()) 1.1 获得当前日期+时间(date + time)函数:now() 除了 now() 函数能获得当前的日期时间外,MySQL 中还 ...