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

目录
相关文章
|
8月前
|
iOS开发
iOS UIKit Dynamics Demo 学习地址列表
iOS UIKit Dynamics Demo 学习地址列表
25 0
|
设计模式 IDE 调度
iOS UIKit 的复习
iOS UIKit 的复习
124 0
iOS UIKit 的复习
|
Web App开发 Linux iOS开发
iOS 关于 UIKit 专栏应该写在最前面的话
iOS 关于 UIKit 应该写在最前面的话 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循“署名-非商业用途-保持一致”创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作。
1050 0
|
图形学 iOS开发 Windows
iOS UIKit 框架 346 篇文档分类整理 - 预告
iOS UIKit 框架 346 篇文档分类整理 - 预告 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循“署名-非商业用途-保持一致”创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作。
1210 0
|
2月前
|
API 数据安全/隐私保护 iOS开发
利用uni-app 开发的iOS app 发布到App Store全流程
利用uni-app 开发的iOS app 发布到App Store全流程
107 3
|
4月前
|
存储 iOS开发
iOS 开发,如何进行应用的本地化(Localization)?
iOS 开发,如何进行应用的本地化(Localization)?
124 2
|
4月前
|
存储 数据建模 数据库
IOS开发数据存储:什么是 UserDefaults?有哪些替代方案?
IOS开发数据存储:什么是 UserDefaults?有哪些替代方案?
43 0
|
2月前
|
API 开发工具 Android开发
iOS 和 Android 平台的开发有哪些主要区别?
iOS与Android开发区别:iOS用Objective-C/Swift,App Store唯一下载渠道;Android用Java/Kotlin,多商店发布(如Google Play、华为市场)。设计上,iOS简洁一致,Android灵活可定制。开发工具,iOS用Xcode,Android用Android Studio。硬件和系统多样性,iOS统一,Android复杂。权限管理、审核流程及API各有特点,开发者需依据目标平台特性进行选择。
39 3
|
14天前
|
前端开发 Android开发 iOS开发
【Flutter前端技术开发专栏】Flutter在Android与iOS上的性能对比
【4月更文挑战第30天】Flutter 框架实现跨平台移动应用,通过一致的 UI 渲染(Skia 引擎)、热重载功能和响应式框架提高开发效率和用户体验。然而,Android 和 iOS 的系统差异、渲染机制及编译过程影响性能。性能对比显示,iOS 可能因硬件优化提供更流畅体验,而 Android 更具灵活性和广泛硬件支持。开发者可采用代码、资源优化和特定平台优化策略,利用性能分析工具提升应用性能。
【Flutter前端技术开发专栏】Flutter在Android与iOS上的性能对比
|
14天前
|
存储 Swift iOS开发
使用Swift开发一个简单的iOS应用的详细步骤。
使用Swift开发iOS应用的步骤包括:创建Xcode项目,设计界面(Storyboard或代码),定义数据模型,实现业务逻辑,连接界面和逻辑,处理数据存储(如Core Data),添加网络请求(必要时),调试与测试,根据测试结果优化改进,最后提交至App Store或其它平台发布。
33 0