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

目录
相关文章
|
4月前
|
Swift iOS开发 UED
如何使用Swift和UIKit在iOS应用中实现自定义按钮动画
本文通过一个具体案例,介绍如何使用Swift和UIKit在iOS应用中实现自定义按钮动画。当用户点击按钮时,按钮将从圆形变为椭圆形,颜色从蓝色渐变到绿色;释放按钮时,动画以相反方式恢复。通过UIView的动画方法和弹簧动画效果,实现平滑自然的过渡。
111 1
|
10月前
|
安全 Swift iOS开发
【Swift 开发专栏】Swift 与 UIKit:构建 iOS 应用界面
【4月更文挑战第30天】本文探讨了Swift和UIKit在构建iOS应用界面的关键技术和实践方法。Swift的简洁语法、类型安全和高效编程模型,加上与UIKit的紧密集成,使开发者能便捷地创建用户界面。UIKit提供视图、控制器、布局、动画和事件处理等功能,支持灵活的界面设计。实践中,遵循设计原则,合理组织视图层次,运用布局和动画,以及实现响应式设计,能提升界面质量和用户体验。文章通过登录、列表和详情界面的实际案例展示了Swift与UIKit的结合应用。
397 1
|
iOS开发
iOS UIKit Dynamics Demo 学习地址列表
iOS UIKit Dynamics Demo 学习地址列表
84 0
|
设计模式 IDE 调度
iOS UIKit 的复习
iOS UIKit 的复习
186 0
iOS UIKit 的复习
|
Web App开发 Linux iOS开发
iOS 关于 UIKit 专栏应该写在最前面的话
iOS 关于 UIKit 应该写在最前面的话 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循“署名-非商业用途-保持一致”创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作。
1082 0
|
图形学 iOS开发 Windows
iOS UIKit 框架 346 篇文档分类整理 - 预告
iOS UIKit 框架 346 篇文档分类整理 - 预告 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循“署名-非商业用途-保持一致”创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作。
1255 0
|
2月前
|
iOS开发 开发者
uniapp开发ios打包Error code = -5000 Error message: Error: certificate file(p12) import failed!报错问题如何解决
uniapp开发ios打包Error code = -5000 Error message: Error: certificate file(p12) import failed!报错问题如何解决
183 67
uniapp开发ios打包Error code = -5000 Error message: Error: certificate file(p12) import failed!报错问题如何解决
|
4月前
|
开发框架 前端开发 Android开发
安卓与iOS开发中的跨平台策略
在移动应用开发的战场上,安卓和iOS两大阵营各据一方。随着技术的演进,跨平台开发框架成为开发者的新宠,旨在实现一次编码、多平台部署的梦想。本文将探讨跨平台开发的优势与挑战,并分享实用的开发技巧,帮助开发者在安卓和iOS的世界中游刃有余。
|
1月前
|
JavaScript 搜索推荐 Android开发
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
69 8
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
|
3月前
|
iOS开发 开发者 MacOS
深入探索iOS开发中的SwiftUI框架
【10月更文挑战第21天】 本文将带领读者深入了解Apple最新推出的SwiftUI框架,这一革命性的用户界面构建工具为iOS开发者提供了一种声明式、高效且直观的方式来创建复杂的用户界面。通过分析SwiftUI的核心概念、主要特性以及在实际项目中的应用示例,我们将展示如何利用SwiftUI简化UI代码,提高开发效率,并保持应用程序的高性能和响应性。无论你是iOS开发的新手还是有经验的开发者,本文都将为你提供宝贵的见解和实用的指导。
167 66

热门文章

最新文章