关于UIKit的应用程序开发
了解UIKit和Xcode为您的iOS和tvOS应用程序提供的基本支持。
Overview(概述)
UIKit框架提供了为iOS和tvOS构建应用程序所需的核心对象。 您可以使用这些对象在屏幕上显示您的内容,与该内容进行交互,并管理与系统的交互。 应用程序依赖于UIKit的基本行为,UIKit提供了许多方法来定制该行为以满足您的特定需求
Important(重要)
您总是通过在Apple的集成开发环境Xcode中创建项目来开始iOS或tvOS应用程序的开发。 如果你没有Xcode,你可以从App Store下载。 您也可以从developer.apple.com下载最新版本。
Xcode提供模板项目作为您创建的每个应用程序的起点。 例如,图1显示了使用Xcode中的单一视图应用程序模板创建的应用程序的结构。 模板项目提供最小的用户界面,因此您可以立即构建和运行项目,并在设备或模拟器中查看结果。
图1当您构建应用程序时,Xcode会编译您的源文件并为您的项目创建一个应用程序包。 应用程序包是一个结构化的目录,包含与应用程序关联的代码和资源。 资源包括支持代码的 image assets, storyboard files, strings files,和应用程序元数据。 应用程序包的结构很重要,但Xcode知道您的资源需要去哪里,所以现在不要担心。
所需资源
每个UIKit应用程序都需要具有以下资源:
1、App icons
2、Launch screen storyboard
系统会在主屏幕的“设置”中以及任何需要将应用程序与其他应用程序区分开来的位置显示您的应用程序图标。 由于它在多个地方以及多个设备上使用,因此您可以在Xcode项目的AppIcon图像资源中提供多个版本的应用程序图标,如图2所示。您的应用程序图标应该与众不同,以帮助用户快速识别您的应用程序 主屏幕。 但是,您可能会改变图标的细节以适应您必须提供的不同图像大小。
图2LaunchScreen.storyboard文件包含您的应用程序的初始用户界面,它可以是启动画面或实际界面的简化版本。 当用户点击你的应用程序的图标时,系统立即显示你的启动屏幕,让你的应用程序正在启动的用户。 启动屏幕还为自己初始化时的应用提供封面。 当您的应用程序准备就绪后,系统将隐藏启动屏幕并显示您的应用程序的实际界面。
必需的应用程序元数据(Required App Metadata)
系统从您的应用程序包中的信息属性列表(Info.plist)文件中导出关于您的应用程序的配置和功能的信息。 Xcode为每个新的项目模板提供了这个文件的预配置版本,但是您可能需要在某个时候修改这个文件。 例如,如果您的应用程序依赖于特定的硬件或使用特定的系统框架,则可能需要将与这些功能相关的信息添加到此文件。
您可以对Info.plist文件进行的一项常见修改是声明您的应用程序的硬件和软件要求。 这些要求是您如何向系统传达您的应用程序需要运行的方式。 例如,导航应用程序可能需要GPS硬件的存在才能提供转由转向的指示,如图3所示.App Store阻止将应用程序安装在不符合应用程序要求的设备上。
图3有关可以包含在Info.plist文件中的密钥的信息,请参阅信息属性列表密钥参考。
UIKit应用程序的代码结构(Code Structure of a UIKit App)
UIKit提供了许多应用程序的核心对象,包括与系统交互的应用程序,运行应用程序的主事件循环,并在屏幕上显示您的内容。 您可以按原样使用大部分对象,也可以仅使用较小的修改。 知道要修改哪些对象以及何时修改它们对于实现您的应用程序至关重要。
UIKit应用程序的结构基于模型 - 视图 - 控制器(MVC)设计模式,其中对象根据其目的进行划分。 模型对象管理应用程序的数据和业务逻辑。 查看对象提供了数据的可视化表示。 控制器对象充当模型和视图对象之间的桥梁,在适当的时候在它们之间移动数据。
图4代表了UIKit应用程序的一个相当典型的结构。 您提供表示您的应用程序的数据结构的模型对象。 UIKit提供了大部分视图对象,尽管您可以根据需要为数据定义自定义视图。 协调您的数据对象和UIKit视图之间的数据交换是您的视图控制器和应用程序委托对象。
图4UIKit和Foundation框架提供了许多用于定义应用模型对象的基本类型。 UIKit提供了一个UIDocument对象来组织属于基于磁盘文件的数据结构。 Foundation框架定义了代表字符串,数字,数组和其他数据类型的基本对象。 Swift标准库提供了许多基础框架中可用的相同类型。
UIKit提供了应用程序的控制器和视图图层中的大部分对象。 具体来说,UIKit定义了UIView类,它通常负责在屏幕上显示你的内容。 (您也可以使用Metal和其他系统框架直接在屏幕上显示内容。)UIApplication对象运行应用程序的主事件循环,并管理应用程序的整个生命周期。
网友评论