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. JavaEE基础(十)

    1.面向对象(package关键字的概述及作用) A:为什么要有包 将字节码(.class)进行分类存放 包其实就是文件夹 B:包的概述 举例: 学生:增加,删除,修改,查询 老师:增加,删除,修改, ...

  2. MySQL查询表内重复记录

    查询及删除重复记录的方法(一)1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select * from peoplewhere peopleId in (select p ...

  3. HDU 4707:Pet

    Pet Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submis ...

  4. YTU 2972: C语言习题5.24--文件操作1

    2972: C语言习题5.24--文件操作1 时间限制: 1 Sec  内存限制: 128 MB 提交: 248  解决: 94 题目描述 文本文件score.dic 中存储了n名学生的信息(班级编号 ...

  5. I Think I Need a Houseboat 分类: POJ 2015-06-11 17:52 12人阅读 评论(0) 收藏

    I Think I Need a Houseboat Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 92090   Acce ...

  6. Java学习之路(四)

    1:static关键字 静态变量可以使用类名来调用 也可以使用对象来调用 但是同一个类的同一个静态变量存储的位置是一样的  所以无论改变那个对象的静态变量的值其他对象的同一个变量的值也会改变 静态函数 ...

  7. 基于@AspectJ和schema的aop(四)---@AspectJ进阶

    @AspectJ可以使用切点函数定义切点, 我们还可以使用逻辑运算对切点进行复合运算得到复合的切点. 我们还可以对切点进行命名, 从而可以复用切点.当一个连接点匹配多个切点时, 需要考虑增强织入的顺序 ...

  8. JMeter基于http请求的web接口性能测试总结

    [本文出自天外归云的博客园] 基于http请求的web接口性能测试总结 压测的目的:对于Web接口压测的目的最终是要在对数据库造成压力的情况下观察压测服务器的cpu是否达到预警值.memory是否发生 ...

  9. PowerShell处理RSS信息

    转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ 环境:Windows Server 2012 EN(解决PowerShell控制台中文乱码问题:方 ...

  10. 栈——PowerShell版

    上一篇讲过队列(queue),队列就像是居民楼里的垃圾管道,从楼道的垃圾管道的入口处将垃圾扔进去,清洁工会从一楼垃圾管道的出口处将垃圾拿走.每一层的垃圾通道入口与一楼的垃圾管道出口之间都形成了一个队列 ...