iOS 中场景和视图的区别

2023-12-21

我是 iOS 新手,无法理解场景和视图之间的区别。不幸的是苹果的文档对我没有帮助。我读到场景就是你在屏幕上看到的。但这不正是视图吗?这两个术语可以互换吗?如果不是,功能和最佳实践有何区别? ViewController 如何在这两者中发挥作用?

非常感谢任何解释或链接。


简单来说:

View

A UIView是屏幕上显示的矩形区域。

视图控制器

当前屏幕上显示的视图集合。

下图中,蓝色区域和黄色区域是View,而整个屏幕是一个ViewController。

Scene

一个 ViewController,它是特定序列的一部分。

然而,技术定义略有不同:

UIView

UIIView 是 CALayer 的包装器。它包含一个子视图数组,这意味着它本身就是一个视图集合。您可以将其想象为一个树结构。

视图控制器

ViewController 是一个保存对根视图的引用的控制器。 这样,您就可以从控制器遍历叶节点或任何子视图。

Scene

“场景”是故事板上下文中 ViewController 的另一个术语。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS 中场景和视图的区别 的相关文章

  • UITabBarController 未选择的图标图像色调

    我有一个 UITabBarController 我正在尝试修改 现在 未选择的选项卡图标图像默认为灰色 我知道您无法以编程方式更改这些未选择的图标图像的色调 苹果表示 色调是由 png 文件本身的实际色调控制的 因此 如果您想要白色或绿色图
  • iPhone,如何隐藏标签栏按钮?

    如何隐藏单个标签栏按钮 我已经搜索过 但什么也没找到 只找到了完整的栏 我已经取得了一些进展 但仍然遇到问题 此代码位于我的应用程序委托中 带有选项卡栏的出口 我在其中调用它viewDidLoad选项卡栏中显示的第一个视图的视图 void
  • 如何使用 Objective-C 协议

    我需要将 Picker 选择的值继承到其他地方 我正在尝试下面的代码 但空值即将到来 请检查我哪里出错了 我必须继承在中传递的字符串值PickerView 请检查代码 选取器1 h import
  • Objective-C 中 typedef 枚举语句在哪里?

    我担心的一个基本问题 以下代码有效 并且 typedef 枚举被识别 但我收到一条警告消息 空声明中无用的存储类说明符 我在这里做错了什么吗 这是放置 typedef 枚举的最佳位置吗 import
  • Ios Swift制作字体切换粗体、斜体、boldItalic、正常而不改变其他属性

    我很惊讶 在 Swift 中简单地为现有字体设置粗体和斜体是如此复杂 我只是想通过在字体类上使用以下方法来简化事情 我希望将以下方法添加到已设置字体系列和字体大小的现有字体中 我需要保留这些并仅更改以下内容 setBold Shud 保留斜
  • iOS 以编程方式将 AVI 转换为 MP4 格式

    我的应用程序中有一个查询 因为我想将 AVI 格式的视频转换为 MP4 电影格式 所以有没有什么方法可以以编程方式执行此操作 任何代码片段将不胜感激 你需要使用AVAssetExportSession将视频转换为 mp4格式 下面方法转换
  • Firestore 读取包含子集合的文档的计费

    我正在制作一个应用程序 它存储用户使用我的应用程序学习了多少分钟 我的 Firestore 数据库以 用户 集合开始 每个用户都有自己的文档 该文档由其在 Auth 中生成的 userID 命名 我的问题是 如果我读取了他们的 userID
  • iPhone UI 带有 Tableview 或 Scrollview? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用 xctool 运行单个 KIWI 规范

    有没有人能够成功地将 KW SPEC 变量传递给 xctool 我正在尝试使用以下命令来运行单个 KIWI 规范https github com kiwi bdd Kiwi wiki Kiwi FAQ q how do i run a si
  • NSURLConnection 的 URL 文件大小 - Swift

    我想在下载之前从 url 获取文件大小 这是 obj c 代码 NSURL URL NSURL URLWithString ExampleURL NSMutableURLRequest request NSMutableURLRequest
  • 如何在 box2d 中停止作用在物体上的力

    我正在 iPhone 上使用 box2d 来创建游戏 我的身体受重力影响向下移动 而不是向右或向左移动 它会被另一个物体击中 然后向右或向左移动 然后我有一个重置按钮 可以将身体移回到起点 唯一的问题是它仍在向右或向左移动 如何抵消球已经行
  • 正确的标头 php mysql blob 显示图像

    我正在尝试在我的 PHP 页面中显示来自 mysql blob 的图像 我知道这不是最佳实践 然后我会将其引入我的 iOS 应用程序中 我在设置页面标题时遇到问题 我认为需要将其设置为图像 所以 这显示了图像 但我不相信页眉是正确的 hea
  • CoreBluetooth:如何为许多特性(30 - 40)设计代码?

    我搜索了一下 发现这是一个可能重复的问题 同一设备的多个 CBPeripheral https stackoverflow com questions 10836703 multiple cbperipherals for same dev
  • 有没有办法检测 iOS 设备进入睡眠模式(屏幕变黑时)时的事件?

    我想检测两个事件 设备被锁定 解锁 设备进入睡眠状态并且屏幕变黑 我在这里实现的第一个目标是 有没有办法检查 iOS 设备是否锁定 解锁 https stackoverflow com questions 14229955 is there
  • 删除 UINavigationBar 下的 1px 边框 - 不起作用

    IBOutlet var navBar UINavigationBar self navBar setBackgroundImage UIImage forBarMetrics UIBarMetrics Default self navBa
  • 如何在 xcode 中使用相同的 nib 文件创建多个窗口

    我有一个使用表格视图作为界面的 iPhone 应用程序 每次用户点击其中一个表格单元格时 我想向用户显示另一个窗口 然而 我推入导航控制器的窗口的用户界面非常相似 因此 我决定制作一个 通用 nib 文件 以便在该通用 nib 文件的文件所
  • 将文本拆分为数组,同时保留 Swift 中的标点符号

    我想将文本拆分为一个数组 保持标点符号与其余单词分隔开 因此字符串如下 Hello I am Albert Einstein 应该变成这样的数组 Hello I am Albert Einstein 我尝试过sting components
  • 如何判断handleOpenURL是在应用程序启动时调用还是在应用程序运行时调用?

    由于事件的顺序略有不同 具体取决于这两个场景中的哪一个正在进行 我希望能够区分出区别 有什么建议么 你不应该使用handleOpenURL因为它已被弃用 相反 使用application openURL sourceApplication
  • iTunes Connect 中缺少应用内购买部分

    我有一个应用程序处于准备提交状态 我还有该应用程序的应用程序内购买项目 上周我将它们链接到我的应用程序并提交以供审核 周末 开发商拒绝了它 现在我想重新提交修复后的版本 但 IAP 部分完全丢失 我怎样才能让它再次可见 我遇到过同样的问题
  • 如何按字母顺序对 NSMutable 数组中的自定义对象字段进行排序?

    我有一个自定义对象 例如 import

随机推荐

  • 如何使用 XCTest 在 Xcode 中测试 Swift 文件,而无需构建整个应用程序?

    我想做的是在对文件进行微小更改后经常测试 Swift 文件 该文件可能包含一个或多个结构和类 我不关心 应用程序 的概念 因为这纯粹是练习我学到的一些新概念的学术练习 我只想测试该文件 并不关心该应用程序以及与该应用程序相关的任何内容 你可
  • sed 替换命令在 Mac 上不起作用

    我尝试使用 sed 将 CMakelists txt 文件中的一些文本替换为 bash 变量的值 但出现错误 sed 1 s iPhone invalid command code sed命令 sed i s iPhone Develope
  • 如何获取两个日期之间的月份和年份列表

    我需要您的帮助来获取两个日期之间字符串中的月份和年份列表 用户将以字符串格式输入两个日期 String date1 JAN 2015 String date2 APR 2015 所以结果应该是 Jan 2015 FEB 2015 MAR 2
  • 在 GLSL 中获取向量的分量最大值

    我需要获得最大值vec3在 GLSL 中 目前我正在做 max max col r col g col b 有用 但我想知道是否有更好的方法通过一个内置函数调用来做到这一点 不幸的是 这就是你在 GLSL 中所能做的最好的事情 我已经习惯写
  • RedShift - 带换行符的 CSV 加载

    我试图在加载时加载 CSV 文件 但出现错误 分隔值缺少结束引号 CSV 文件错误行 红移错误 line number 13 colname Comment col length 250 raw line 123 123 xyz 2009
  • i18next:在 TypeScript 中映射对象数组

    我正在将 React 项目重写为 TypeScript 软件包 Next js next i18next styled components EDIT 截至目前 答案已过时next i18next版本 请参阅 Typescript i18n
  • ValueError:将两个数组传递给函数时矩阵必须是二维的

    我有一个完全用 numpy 函数编写的函数 并接受两个输入值 该函数由一些矩阵运算组成 当我传递两个大数组时 它给我一个 ValueError 矩阵必须是二维的 使用循环和 numpy apply along axis 将解决问题 但这些方
  • Django 1.7 - 更新 base_site.html 不起作用

    我正在关注 django 1 7 的教程 再次 我无法更新管理站点 我已经遵循了这个 Django 覆盖base site html https stackoverflow com questions 21571237 django ove
  • 在android中将大图像加载到位图

    您好 我正在使用下面的代码从 SD 卡加载图像 它运行正常 Bitmap picture BitmapFactory decodeFile sdcard or Bitmap picture BitmapFactory decodeByteA
  • Laravel 5 配置文件中的自定义配置文件访问

    我在中创建了自定义配置文件拉拉维尔 5并尝试在其他文件中使用它的设置 session php cache php 通过调用config myconfigfile value 但我的配置没有返回任何值 看来配置文件已经预定义了加载顺序 并且自
  • 使用独立 COM 时,应用程序在 CoCreateInstance 期间挂起

    当我没有配置客户端 DLL 时 globalsd dll 使用独立 COM 访问公开 COM 接口的 NET 程序集 FSCulture dll 在运行主可执行文件 FCMTSYSM EXE 我收到应用程序异常 访问冲突 因为 CoCrea
  • 捕获 EitherT 中的异常并保留底层 monad 转换器

    基本上我想了解如何进行异常处理 我正在使用exceptions封装有MonadThrow MonadCatch这对我来说没有多大意义 我把它分解成我能想到的最小的例子 我很欣赏这是相当做作的 首先我定义一个任意的Exception data
  • git克隆后修改的文件

    在我的电脑中克隆 github 存储库后 文件显示为修改后的文件 但该文件的最后一次修改是在 8 个月前完成的 怎么可能呢 我尝试执行 git checkout 但文件会像修改后的文件一样继续存在 gitattribute 文件 java文
  • 需要将JSON数据获取字段配置到flutter中的widget元素

    我对 JSON 数据进行了以下建模 其中有订单和每个订单中的项目 数据模型 class NewOrder String error List
  • NPM 包没有类型

    我正在将一个小型 Express api 转换为使用 TypeScript 但某些包没有 types 所以当我导入它们时我得到一个TS2307 error 我可以做些什么来解决该错误吗 或者也可以自己输入 具体取决于包的复杂性 一个例子是e
  • AWS EMR - ModuleNotFoundError:没有名为“pyarrow”的模块

    我在使用 Apache Arrow Spark 集成时遇到了这个问题 将 AWS EMR 与 Spark 2 4 3 结合使用 在本地 Spark 单机实例和 Cloudera 集群上测试了这个问题 一切正常 在spark env sh中设
  • 为什么 Google 开发者控制台中缺少 GAE 应用程序?

    我的 Google App Engine 应用程序之一不知何故在谷歌开发者控制台 https console developers google com project 我确信它以前就在那里 现在 如果我单击 Google App Engi
  • 在 IntelliJ 中禁用运行窗口的显示

    在 IntelliJ 中 每次我更改代码并随后运行应用程序时 都会自动弹出 运行窗口 有什么方法可以禁用这种烦人的行为 或者如何让它不那么分散注意力 我终于可以解决这个问题了 至少它对我有用 在 运行 调试配置 窗口底部的 启动之前 部分
  • 使用 SetParent 窃取另一个进程的主窗口,但保持消息循环分离

    背景 我和我的同事正在维护我们继承的一个百万行遗留应用程序 它的前端是用 VB6 编写的 由于我们投入了几乎所有的资源将其转换为 C 因此我们正在寻找针对我们的特定问题的快速而肮脏的解决方案 该应用程序以插件式的方式运行 最多可以在网格样式
  • iOS 中场景和视图的区别

    我是 iOS 新手 无法理解场景和视图之间的区别 不幸的是苹果的文档对我没有帮助 我读到场景就是你在屏幕上看到的 但这不正是视图吗 这两个术语可以互换吗 如果不是 功能和最佳实践有何区别 ViewController 如何在这两者中发挥作用