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 各控件之间的层次结构

  1. |—— UIAcceleration
  2. |
  3. |—— UIAccelerometer
  4. |
  5. |—— UIAccessibilityElement
  6. |
  7. |—— UIActivity
  8. | |—— UIBarButtonItem
  9. |—— UIBarItem ——————————————————————-|
  10. | |—— UITabBarItem
  11. |—— UIBeziPath
  12. |
  13. |—— UIColor
  14. |
  15. |—— UIDevice
  16. |
  17. |—— UIDocumentInteractionController
  18. |
  19. |—— UIEvent
  20. |
  21. |—— UIFont |—— UILongPressGestureRecognizer |—— UIWindow
  22. | | |
  23. |—— UIGestureRecognizer —————————————|—— UIPanGestureRecognizer |—— UILabel
  24. | | |
  25. |—— UIImage |—— UIPinchGestureRecognizer |—— UIPickerView
  26. | | |
  27. |—— UILocalizedIndexedCollation |—— UIRotationGestureRecognizer |—— UIProgressView
  28. | | |
  29. |—— UILocalNotification |—— UISwipeGestureRecognizer |—— UIActivityIndicatorView |—— UITextView
  30. | | | |
  31. |—— UIMenuController |—— UITapGestureRecognizer |—— UIImageView |—— UITableView
  32. | | |
  33. NSObject ——|—— UIMenuItem |—— UIScrollView ——————————————-——|—— UICollectionView
  34. | |
  35. |—— UINavigationItem |—— UITabBar
  36. | |
  37. |—— UINib |—— UIToolbar |—— UIStepper
  38. | | |
  39. |—— UIPasteboard |—— UINavigationBar |—— UIButton
  40. | | |
  41. |—— UIPopoverController |—— UISimpleTextPrintFormatter |—— UITableViewCell |—— UIDatePicker
  42. | | | |
  43. |—— UIPrintFormatter ———————————————-|—— UIMarkupTextPrintFormatter |—— UIActionSheet |—— UIPageControl
  44. | | | |
  45. |—— UIPrintInfo |—— UIViewPrintFormatter |—— UIAlertView |—— UISegmentedControl
  46. | | |
  47. |—— UIPrinInteractionController |—— UISearchBar |—— UITextField
  48. | | |
  49. |—— UIPrintPageRender |—— UIApplication |—— UIWebView |—— UISlider
  50. | | | |
  51. |—— UIPrintPaper |—— UIView ———————————————————————|—— UIControl ————————————————————|—— UISwitch
  52. | |
  53. |—— UIResponder ———————————————-—————|—— UIViewController —————————————|—— UISplitViewController
  54. | |
  55. |—— UIScreen |—— UITabBarController
  56. | |
  57. |—— UIScreenMode |—— UITableViewController
  58. | | |—— UIImagePickerController
  59. |—— UISearchDisplayController |—— UINavigationController ————|
  60. | | |—— UIVideoEditorController
  61. |—— UITextChecker |—— UICollectionViewController
  62. | |
  63. |—— UITextInputStringTokenizer |—— UIPageViewController
  64. | |
  65. |—— UITextPosition |—— UIActivityViewController
  66. |
  67. |—— UITextRanger
  68. |
  69. |—— UITouch
  70. |
  71. |—— CMMotionManager

1.2 各控件关联说明

  1. UIWindow : UIView 窗口
  2. UIApplication : UIResponder 应用
  3. UIView : UIResponder 视图
  4. UILabel : UIView 标签
  5. UIProgressView : UIView 进度条
  6. UIAlertView : UIView 警告框
  7. UIActionSheet : UIView 操作表
  8. UIPickerView : UIView 选择框
  9. UIActivityIndicatorView : UIView 风火轮
  10. UIImageView : UIView 图像视图
  11. UIWebView : UIView 网页视图
  12. UIScrollView : UIView 滚动视图
  13. UITextView : UIScrollView 多行文本视图
  14. UIToolbar : UIView 工具条
  15. UIControl : UIView 控制器
  16. UITextField : UIControl 文本框控件
  17. UIButton : UIControl 按钮控件
  18. UISwitch : UIControl 开关按钮控件
  19. UISegmentedControl : UIControl 选择控件
  20. UISlider : UIControl 滑块控件
  21. UIStepper : UIControl 微调器控件
  22. UIDatePicker : UIControl 日期选择器控件
  23. UIViewController : UIResponder 视图控制器
  24. UITableViewController : UIViewController 表格视图控制器
  25. UITableView : UIScrollView 表格视图
  26. UITableViewCell : UIView 表格视图单元
  27. UINavigationController : UIViewController 导航视图控制器
  28. UINavigationBar : UIView 导航条
  29. UITabBarController : UIViewController 标签视图控制器
  30. UITabBar : UIView 标签条
  31. UICollectionViewController : UIViewController 网格视图控制器
  32. UICollectionView : UIScrollView 网格视图
  33. UIPageViewController : UIViewController 页视图控制器
  34. UIPageControl : UIControl 页控件
  35. UISplitViewController : UIViewController 分割视图控制器
  36. UIImagePickerController : UINavigationController 图像选择视图控制器
  37. UIActivityViewController : UIViewController 分享视图控制器
  38. UIActivity : NSObject 分享
  39. UISearchController : NSObject 搜索视图控制器
  40. UISearchBar : UIView 搜索条
  41. UIAlertController : UIViewController 警告视图控制器
  42. UIColor : NSObject 颜色
  43. UIDevice : NSObject 设备信息
  44. CMMotionManager : NSObject 加速度传感器
  45. UIGestureRecognizer : NSObject 手势检测
  46. UITapGestureRecognizer : UIGestureRecognizer 点击手势
  47. UILongPressGestureRecognizer : UIGestureRecognizer 长按手势
  48. UIRotationGestureRecognizer : UIGestureRecognizer 旋转手势
  49. UIPinchGestureRecognizer : UIGestureRecognizer 捏合手势
  50. UIPanGestureRecognizer : UIGestureRecognizer 拖动手势
  51. UISwipeGestureRecognizer : UIGestureRecognizer 滑动手势
  52. UITouch : NSObject 触摸
  53. AudioServicesPlayAlertSound : 短频音效播放
  54. AVAudioPlayer : NSObject 音频播放
  55. MPMoviePlayerViewController : UIViewController 视频播放视图控制器
  56. MPMoviePlayerController : NSObject 视频播放控件
  57. AVPlayerViewController : UIViewController 音视频播放视图控制器
  58. 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. C#:WiFi

    写的一个简单启动关闭WiFi的类:具体如下 using System; using System.Collections.Generic; using System.Text; using Syste ...

  2. 搭建LAMP

    RPM包和源码包存放位置 /usr/local/src 源码包编译安装位置 /usr/local/apache /usr/local/mysql /usr/local/php 默认MySQL 数据库位 ...

  3. gets()和getchar()还有getch()的区别

    getch()和getchar()区别:1.getch(): 所在头文件:conio.h 函数用途:从控制台读取一个字符,但不显示在屏幕上例如: char ch;或int ch: getch();或c ...

  4. 更改printk打印级别

    1.查看当前控制台的打印级别 cat /proc/sys/kernel/printk 4    4    1    7 其中第一个"4"表示内核打印函数printk的打印级别,只有 ...

  5. R2D2 and Droid Army(多棵线段树)

    R2D2 and Droid Army time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  6. Acdream Chinese Girls' Amusement

    A - Chinese Girls' Amusement Time Limit: 2000/1000MS (Java/Others) Memory Limit: 128000/64000KB (Jav ...

  7. 正确修改MySQL最大连接数的三种好用方案

    以下的文章主要介绍的是正确修改MySQL最大连接数的三种好用方案,我们大家都知道MySQL数据库在安装完之后,默认的MySQL数据库,其最大连接数为100,一般流量稍微大一点的论坛或网站这个连接数是远 ...

  8. 为Python添加默认模块搜索路径

    方法一:函数添加1 import sys2 查看sys.path3 添加sys.path.append("c:\\") 方法二:修改环境变量w用户可以修改系统环境变量PYTHONP ...

  9. 抓取Js动态生成数据且以滚动页面方式分页的网页

    代码也可以从我的开源项目HtmlExtractor中获取. 当我们在进行数据抓取的时候,如果目标网站是以Js的方式动态生成数据且以滚动页面的方式进行分页,那么我们该如何抓取呢? 如类似今日头条这样的网 ...

  10. VC 实现文件与应用程序关联(转载)

    转载:http://www.cnblogs.com/RascallySnake/archive/2013/03/01/2939102.html 日常工作中,doc文件直接双击后,就能启动word软件, ...