iOS - UIKit

简介: 1、UIKit 框架基本结构1)控件屏幕上的所有 UI 元素都叫做控件(也有叫做视图、组件),比如按钮(UIButton)、文本(UILabel)都是控件。为了便于开发者打造各式各样的优秀 App,UIKit 框架提供了非常多功能强大又易用的 UI 控件,但并不是每一个都很常用,有些控件可能 1 年内都用不上,有些控件天天用,比如 UIButton、UILabel、UIImageView、UITableView 等等。

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 值向下正向延伸。

      UIKit20

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 文字显示

UIKit1

UIKit2

UIKit3

2.2 进度显示

UIKit4

UIKit5

UIKit6

2.3 弹框提醒

UIKit7

UIKit8

2.4 滚动视图

UIKit9

UIKit10

UIKit11

UIKit12

UIKit13

2.5 内容选择

UIKit14

UIKit15

UIKit16

UIKit17

2.6 工具条

UIKit18

UIKit19

目录
相关文章
|
23天前
|
Swift iOS开发 UED
如何使用Swift和UIKit在iOS应用中实现自定义按钮动画
本文通过一个具体案例,介绍如何使用Swift和UIKit在iOS应用中实现自定义按钮动画。当用户点击按钮时,按钮将从圆形变为椭圆形,颜色从蓝色渐变到绿色;释放按钮时,动画以相反方式恢复。通过UIView的动画方法和弹簧动画效果,实现平滑自然的过渡。
41 1
|
6月前
|
安全 Swift iOS开发
【Swift 开发专栏】Swift 与 UIKit:构建 iOS 应用界面
【4月更文挑战第30天】本文探讨了Swift和UIKit在构建iOS应用界面的关键技术和实践方法。Swift的简洁语法、类型安全和高效编程模型,加上与UIKit的紧密集成,使开发者能便捷地创建用户界面。UIKit提供视图、控制器、布局、动画和事件处理等功能,支持灵活的界面设计。实践中,遵循设计原则,合理组织视图层次,运用布局和动画,以及实现响应式设计,能提升界面质量和用户体验。文章通过登录、列表和详情界面的实际案例展示了Swift与UIKit的结合应用。
298 1
|
iOS开发
iOS UIKit Dynamics Demo 学习地址列表
iOS UIKit Dynamics Demo 学习地址列表
51 0
|
设计模式 IDE 调度
iOS UIKit 的复习
iOS UIKit 的复习
167 0
iOS UIKit 的复习
|
Web App开发 Linux iOS开发
iOS 关于 UIKit 专栏应该写在最前面的话
iOS 关于 UIKit 应该写在最前面的话 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循“署名-非商业用途-保持一致”创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作。
1071 0
|
图形学 iOS开发 Windows
iOS UIKit 框架 346 篇文档分类整理 - 预告
iOS UIKit 框架 346 篇文档分类整理 - 预告 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循“署名-非商业用途-保持一致”创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作。
1234 0
|
6天前
|
开发框架 前端开发 Android开发
安卓与iOS开发中的跨平台策略
在移动应用开发的战场上,安卓和iOS两大阵营各据一方。随着技术的演进,跨平台开发框架成为开发者的新宠,旨在实现一次编码、多平台部署的梦想。本文将探讨跨平台开发的优势与挑战,并分享实用的开发技巧,帮助开发者在安卓和iOS的世界中游刃有余。
|
1月前
|
Java Android开发 Swift
安卓与iOS开发对比:平台选择对项目成功的影响
【10月更文挑战第4天】在移动应用开发的世界中,选择合适的平台是至关重要的。本文将深入探讨安卓和iOS两大主流平台的开发环境、用户基础、市场份额和开发成本等方面的差异,并分析这些差异如何影响项目的最终成果。通过比较这两个平台的优势与挑战,开发者可以更好地决定哪个平台更适合他们的项目需求。
114 1
|
13天前
|
安全 数据处理 Swift
深入探索iOS开发中的Swift语言特性
本文旨在为开发者提供对Swift语言在iOS平台开发的深度理解,涵盖从基础语法到高级特性的全面分析。通过具体案例和代码示例,揭示Swift如何简化编程过程、提高代码效率,并促进iOS应用的创新。文章不仅适合初学者作为入门指南,也适合有经验的开发者深化对Swift语言的认识。
35 9
|
9天前
|
设计模式 Swift iOS开发
探索iOS开发:从基础到高级,打造你的第一款App
【10月更文挑战第40天】在这个数字时代,掌握移动应用开发已成为许多技术爱好者的梦想。本文将带你走进iOS开发的世界,从最基础的概念出发,逐步深入到高级功能实现,最终指导你完成自己的第一款App。无论你是编程新手还是有志于扩展技能的开发者,这篇文章都将为你提供一条清晰的学习路径。让我们一起开始这段旅程吧!