当前位置: 首页 > 知识库问答 >
问题:

iOS 5 SDK中的容器视图是什么?

公西永嘉
2023-03-14

我很困惑为什么以及何时需要使用容器视图?我们如何通过代码实例化容器视图?

共有2个答案

韩单弓
2023-03-14

我不明白为什么以及何时需要使用容器视图?

当人们谈论容器视图时,他们通常指的是包含其他视图的普通旧UIView。通过以这种方式使用视图,可以将其包含的所有视图作为一个组进行移动,从而保持它们之间的相对位置。它还可以轻松地将所有包含的视图作为一个组隐藏。

我们如何通过代码实例化容器视图?

与通常从代码实例化UIView的方式相同:

CGRect frame = CGRectMake(someX, someY, someWidth, someHeight);
UIView *container = [[UIView alloc] initWithFrame:frame];

之后,您可能希望向容器添加一些子视图,并最终将容器添加为视图控制器视图的子视图。

另外,请注意,我们这里讨论的是视图,而不是视图控制器。人们还谈论容器视图控制器,他们指的是可以管理其他视图控制器的视图控制器。UITabBarController、UINavigationController和UISplitViewController是iOS提供的容器视图控制器的示例。如果你愿意,你可以创建自己的,但这是另一个问题的主题。

更新:从您的评论中,您显然想知道故事板编辑器中的“容器视图”项。如果将一个拖动到视图中,您将看到:

>

  • 视图本身是用作占位符的UIView。

    除了视图,编辑器还会创建一个区域,您可以在其中编辑要由子视图控制器管理的内容。见下图。

    https://imgs.xnip.cn/cj/n/1/51eb084b-7473-4a51-8d8f-2af66482993f.png" width="100%" height="100%" />

    这不仅仅是一个物体,而是几个。您将获得一个视图、一个子视图控制器和一个“嵌入”序列。您当然可以自己在代码中创建它们,并在需要时适当地连接它们。

  • 羊舌高明
    2023-03-14

    容器视图是一个视图,您可以将其拖动到故事板中已有的一个视图控制器中(我们称之为viewControllerA)。您可以通过html" target="_blank">嵌入式segue自动将视图控制器连接到此视图。这个新的视图控制器设置了它的框架,因此它与容器视图的大小相同——如果调整容器视图的大小,控制器也会自动调整大小。因此,如果需要,可以将多个容器视图拖动到viewControllerA中,每个视图都有自己的视图控制器。在代码中,如果需要访问这些嵌入式视图控制器,可以从viewControllerA访问它们。ChildViewController——这将为您提供一个包含所有嵌入式视图控制器的数组。

    在WWDC 2012会议视频中,有一个关于这些容器视图的讨论,名为“在你的应用中采用故事板”。

     类似资料:
    • 视图容器说明 组件 说明 最低版本 view 视图容器 1.0.0 scroll-view 可滚动视图区域 1.0.0 web-view webview视图 1.0.0 swiper 滑块视图容器 1.0.0 swiper-item 仅可放置在swiper组件中 1.0.0 cover-image 覆盖在原生组件之上的图片视图 2.8.3 cover-view 覆盖在原生组件之上的文本视图 2.8

    • 组件 说明 最低版本 备注 cover-image 覆盖在原生组件之上的图片视图 2.8.3 cover-view 覆盖在原生组件之上的文本视图 2.8.3 match-media media query 匹配检测节点 2.9.3 movable-area movable-view的可移动区域 2.9.3 movable-view 可移动的视图容器,在页面中可以拖拽滑动 2.9.3 scroll-

    • view 视图容器。 属性名 类型 默认值 说明 hover-class String none 指定按下去的样式类。当 hover-class="none" 时,没有点击态效果 hover-stop-propagation Boolean false 指定是否阻止本节点的祖先节点出现点击态 hover-start-time Number 50 按住后多久出现点击态,单位毫秒 hover-stay

    • 问题内容: 谁能给我一个简短的Java容器的完整列表吗?我知道的一些对象是Array,Arraylist,Hashtable,HashMap,HashSet,Node,NodeList,TreeNode和TreeMap。 问题答案: 本质上,所有有关Java“容器”(或称为集合)的文档都在这里,其中最有用的页面是此简短列表。集合框架还有其他实现,例如fastutils框架,如果您知道要使用的类型,

    • 问题内容: Java并发编程中所指的监视器是什么? 当我看到“每个对象都关联了一个监视器”时,这是什么意思? 这是一个特殊的对象吗? 问题答案: 监视器是控制对对象的并发访问的机制。 这使您可以执行以下操作: 线程1: 线程2: 这样可以防止线程1和2同时访问受监视(同步)的部分。一个将启动,并且监视器将阻止另一个在第一个完成之前访问该区域。 这不是一个特殊的对象。它的同步机制位于类层次结构的根目

    • 主要内容:视图的优点MySQL 视图(View)是一种虚拟存在的表,同真实表一样,视图也由列和行构成,但视图并不实际存在于数据库中。行和列的数据来自于定义视图的查询中所使用的表,并且还是在使用视图时动态生成的。 数据库中只存放了视图的定义,并没有存放视图中的数据,这些数据都存放在定义视图查询所引用的真实表中。使用视图查询数据时,数据库会从真实表中取出对应的数据。因此,视图中的数据是依赖于真实表中的数据的。一旦真实表中