iOS - UIKit

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 工具条

时间: 2024-10-01 04:06:50

iOS - UIKit的相关文章

iOS UIKit 框架 346 篇文档分类整理 - 预告

iOS UIKit 框架 346 篇文档分类整理 - 预告 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 当前正在进行的是 "iOS Foundation 框架 224 篇相关文档分

用 Xamarin 和 Visual Studio 构建 iOS 应用

本文讲的是用 Xamarin 和 Visual Studio 构建 iOS 应用, 当创见一个 iOS 的应用程序的时候,开发者们一贯倾向于使用那些由 Apple 公司提供的编程语言和 IDE: Objective-C /Swift 和 Xcode.然而,这并不是唯一的选择 - 你还可以通过使用很多其他的编程语言和框架去创建一个 iOS 应用程序. Xamarin 是最热门的选择方式之一,它是一个跨平台的开发框架,允许你使用 C# 和 Visual Studio 开发 iOS, Android,

[译] 如果只有一个月入门 iOS:我该如何学习呢?

本文讲的是[译] 如果只有一个月入门 iOS:我该如何学习呢?, 原文地址:If I have one month to learn iOS: How would I spend it? 原文作者:Quang Nguyen 译文出自:掘金翻译计划 译者:Gocy 校对者:reid3290 ,zhaochuanxing 如果只有一个月入门 iOS:我该如何学习呢? 直到去年,我一直都在从事 Android 平台的开发.当时,我对 iOS 开发没有任何的概念,甚至从来没有用过 Apple 的产品.但

iOS 开发库(iOS Developer Library)

iOS 开发库(iOS Developer Library) 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 以下为详尽部分,如感觉过于冗长,可移步<iOS 开发库概要(iOS Devel

iOS - Quartz 2D 贝塞尔曲线

1.贝塞尔曲线 贝塞尔曲线(Bézier curve),又称贝兹曲线或贝济埃曲线,是应用于二维图形应用程序的数学曲线.一般的矢量图形软件通过它来精确画出曲线,贝兹曲线由线段与节点组成,节点是可拖动的支点,线段像可伸缩的皮筋,我们在绘图工具上看到的钢笔工具就是来做这种矢量曲线的.贝塞尔曲线是计算机图形学中相当重要的参数曲线,在一些比较成熟的位图软件中也有贝塞尔曲线工具,如 PhotoShop 等.在 Flash4 中还没有完整的曲线工具,而在 Flash5 里面已经提供出贝塞尔曲线工具. 二阶贝塞

九月不容错过的高素质设计圈干货大合集

  好吧,最近设计素材 是发的有点密集.但是干货 谁会嫌多呢?细腻而匠心独运的图标,精致而灵活的模板,功能强大的HTML主题和全面的UI Kit,时尚炫酷的字体,新鲜热辣的代码包,别具一格的工具,这不都是你要的么? 这次的量够大,总计50款,你总能在这当中找到你想要的东西吧? THIN LINE STYLE PSD ICONS SET 48款高素质的线性图标PSD大合集,品类齐全,值得收入囊中. COLLECTICONS 这个名为合集的图片合集目前已经有135款了,目前这个数量还在增长中. SO

Core Text 入门

本文所涉及的代码你可以在这里下载到 https://github.com/kejinlu/CTTest,包含两个项目,一个Mac的NSTextView的测试项目,一个iOS的Core Text的测试项目 NSTextView和Attribued String 第一次接触苹果系的富文本编程是在写Mac平台上的一个输入框的时候,输入框中的文字可以设置各种样式,并可以在文字中间插入图片,好在Mac的AppKit中提供了NSTextView这个支持富文本编辑器控件.此控件背后是通过什么方式来描述富文本的

iOS 关于 UIKit 专栏应该写在最前面的话

iOS 关于 UIKit 应该写在最前面的话 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 如果你之前接触过 Web.Windows.Linux或其它相关的有界面的直接给用户使用的应用的话,你

Cocos2D iOS之旅:如何写一个敲地鼠游戏(一):高清屏显示和UIKit

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流之用,请勿进行商业用途.同时,转载时不要移除本申明.如产生任何纠纷,均与本博客所有人.发表该翻译稿之人无任何关系.谢谢合作! 原文由Ray Wunderlich写成,地址在: http://www.raywenderlich.com/2560/cocos2d-tutorial-for-ios-how