视图层次可以分为如下几个大类:
1、容器
容器视图用于增强其它视图的功能,或者为视图内容提供额外的视觉分隔。比如,UIScrollView类可以用于显示因内容太大而无法显示在一个屏幕上的视图。UITableView类是UIScrollView类的子类,用于管理数据列表。表格的行可以支持选择,所以通常也用于层次数据的导航—比如用于挖掘一组有层次结构的对象。
UIToolbar对象则是一个特殊类型的容器,用于为一或多个类似于按键的项提供视觉分组。工具条通常出现在屏幕的底部。Safari、Mail、和Photos程序都使用工具条来显示一些按键,这些按键代表经常使用的命令。工具条可以一直显示,也可以根据应用程序的需要进行显示。
2、控件
控件用于创建大多数应用程序的用户界面。控件是一种特殊类型的视图,继承自UIControl超类,通常用于显示一个具体的值,并处理修改这个值所需要的所有用户交互。控件通常使用标准的系统范式(比如目标-动作模式和委托模式)来通知应用程序发生了用户交互。控件包括按键、文本框、滑块、和切换开关。
3、显示视图
控件和很多其它类型的视图都提供了交互行为,而另外一些视图则只是用于简单地显示信息。具有这种行为的UIKit类包括UIImageView、 UILabel、UIProgressView、UIActivityIndicatorView。
4、文本和web视图
文本和web视图为应用程序提供更为高级的显示多行文本的方法。UITextView类支持在滚动区域内显示和编辑多行文本;而UIWebView类则提供了显示HTML内容的方法,通过这个类,您可以将图形和高级的文本格式选项集成到应用程序中,并以定制的方式对内容进行布局。
5、警告视图和动作表单
警告视图和动作表单用于即刻取得用户的注意。它们向用户显示一条消息,同时还有一或多个可选的按键,用户通过这些按键来响应消息。警告视图和动作表单的功能类似,但是外观和行为不同。举例来说,UIAlertView类在屏幕上弹出一个蓝色的警告框,而UIActionSheet类则从屏幕的底部滑出动作框。
6、导航视图
页签条和导航条和视图控制器结合使用,为用户提供从一个屏幕到另一个屏幕的导航工具。在使用时,您通常不必直接创建UITabBar和UINavigationBar的项,而是通过恰当的控制器接口或Interface Builder来对其进行配置。
7、窗口
窗口提供一个描画内容的表面,是所有其它视图的根容器。每个应用程序通常都只有一个窗口。更多信息请参见“UIWindow的作用”部分
分享到:
相关推荐
捕获套件高效捕捉 UIKit 层次结构的视频自动将捕获的视频保存到用户照片库使用捆绑的 UI 控件控制播放或直接使用CKScreenRecorder类在专用后台线程上捕获 UIKit 层次结构避免不必要的缓冲区分配并最小化数据副本用法...
工作原理Introspect的工作原理是将自定义IntrospectionView添加到视图层次结构,然后查看UIKit层次结构以找到相关视图。 例如,当自省TextField时,它将:将IntrospectionView添加为Text的覆盖层
这个怎么运作Introspect的工作原理是将自定义IntrospectionView添加到视图层次结构,然后查看UIKit层次结构以找到相关视图。 例如,当自省TextField ,它将: 将IntrospectionView添加为TextField的覆盖获取自省视图...
以声明方式创建视图层次结构。 快速查看view.pd.add(imageView.pd.image(logoImage),label.pd.text(“ Logo”)。textColor(.red).font(size:20),button.pd.title(“ Go” ).action(buttonTapped))...
它包含一个可交互的UIView的列表(是的,由于层次结构,它两次保存了它,但是在那种情况下,它不会产生任何保留问题)。 blobLayers是CAShapeLayer的二维数组,用于显示球之间的blob连接。为了能够直接访问第i个球和...
该存储库当前包含对检查UIKit,Quartz和Cocos2D(版本1和2)层次结构的支持。 当前分发了两个通用(即,可以在模拟器和实际设备上使用)库。 libDetectiveUniversal.a包含对UIKit和Quartz的支持。 ...
CoreAnimation把和视图对象相关联的层存储在层树的层次结构中。 可以在层树中添加特殊层,实现不同的效果。层对象是IOS渲染和布局系统的推动力,大多数视图属性实际上是其层对象属性的一个很薄的封装。表示树: 层在...
用法只需使用所需样式实例化RTSpinKitView并将其添加到您的视图层次结构中。 #import <SpinKit>...RTSpinKitView *spinner = [[RTSpinKitView alloc] initWithStyle:RTSpinKitViewStyleWave];[self.view addSubview:...
JKCategories(iOS-类别) JKCategories(iOS-Categories),是有用的Objective-C类别的集合,这些类别扩展...您将在pod search JKCategories或Podfile或项目文件夹层次结构中找到所有子库 手动地 将JKCategories或某
用于创建用户界面的Java工具包。 它使用XML文件描述组件层次结构。
:check_mark_button: 在某些视图层次结构中包含时应用样式 :check_mark_button: 快速交换整个主题 :check_mark_button: 为所有流行的UIKit类内置样式属性 :check_mark_button: 参考主题变量的常用值 :check_...
您的代码与创建的视图层次结构匹配 垫片会自动调整到堆栈视图轴 边距自动启用isLayoutMarginsRelativeArrangement UIEdgeInsets扩展是单独可用的。 extension UIEdgeInsets { static func all ( _
CBIntrospectorIntrospector 是一小组适用于iOS 6+和 iOS 模拟器的工具,可帮助调试使用 UIKit 构建的用户界面。 它对于动态创建或可以在运行时更改的 UI 布局,或者通过查找非不透明视图或不必要地重新绘制的视图来...
(首先阅读它,它将帮助您维护项目的层次结构,还可以帮助用户轻松地找到内容)如何运行项目?分叉该项目。切换到dev分支(这是所有活动代码所在的位置)。使用Xcode运行项目。遇到麻烦 ?如果您在此项目上遇到麻烦...
NIMKit 架构解析总体结构├── api #UIKit 数据接口、定制化接口├── impl #数据接口、定制化接口的默认实现以层次划分的形式,看一下各个模
基于SwiftUI语法和功能的开源UI框架,增加了向后兼容性。兼容性最低iOS版本:iOS 11.0 Swift...入门您可以将AltSwiftUI视图层次结构与SwiftUI中的AppDelegate或SceneDelegate 。创建一个具有根View的UIHostingControll
只需使用所需的样式实例化RTSpinKitView并添加到您的视图层次结构中。 RTSpinKitView *spinner = [[RTSpinKitView alloc] initWithStyle:RTSpinKitViewStyleWave]; [self.view addSubview:spinner]; 可用款式: ...
10.3.2 iphone对象的层次结构140 10.3.3 窗口和视图141 10.4 iphone os的方法142 10.4.1 对象创建142 10.4.2 内存管理143 10.4.3 事件响应145 10.4.4 生命周期管理146 10.5 小结146 第11章 使用...
只需创建DossyTextLabel的实例并将其添加到您的视图层次结构中即可,但是您需要: let dossyLabel = DossyTextLabel () 像对任何UILabel一样对其进行修改: dossyLabel. textColor = UIColor. cyan dossyLabel. ...
与只能在主线程上使用的视图不同,节点是线程安全的:您可以在后台线程上并行实例化和配置它们的整个层次结构。 为保持其用户界面流畅和响应速度,您的应用应以每秒60帧的速度渲染-这是iOS上的黄金标准。 这意味着...