问题标签 [container-view]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
20572 浏览

ios - 在 iOS 中使用选项卡更改容器视图内容

我正在尝试制作一个跨越三个选项卡的表单。您可以在下面的屏幕截图中看到选项卡的位置。当用户点击选项卡时,容器视图应该更新并显示我拥有的特定视图控制器。

视图控制器

选项卡 1 = 视图控制器 1

选项卡 2 = 视图控制器 2

选项卡 3 = 查看控制器 3

上面显示的视图控制器具有类 PPAddEntryViewController.m。我在这个类中为容器视图创建了一个出口,现在有一个容器视图属性:

我还为我的标签准备了 IBActions:

如何在这些 IBActions 中设置容器以更改 Container View 拥有的视图控制器?

除其他几件事外,这是我尝试过的:

...但它不起作用。提前致谢。

0 投票
3 回答
13578 浏览

uiviewcontroller - 如何在界面生成器中创建容器/子视图控制器关系

要从代码创建 2 个视图控制器之间的父/子关系,基本上只需执行以下操作:

其中self是父视图控制器。
但是,如果我想完全从 Interface Builder 中创建相同的关系怎么办?
或者换句话说:有没有办法使用 Interface Builder 重新创建方法 addChildViewController 的行为?
我没有找到很多关于此的文档,这里有一篇关于该主题的未解决的旧帖子:https ://devforums.apple.com/message/455758#455758

如果没有正确设置 addChildViewController 关系,任何旋转方法都不会转发到我的子视图控制器,这是我的问题的来源。

这是我在 IB 所做的:

  1. 将“视图控制器”对象从“对象库”面板拖放到“对象”面板中
  2. 在身份检查器中,我已将其类更改为我的 UIViewController 子类(“Items View Controller”)
  3. 将视图出口连接到控制器
  4. 将所有其他需要的插座连接到控制器(列表名称、表格视图)

图片中的第一个“视图”对象是我的父视图控制器的视图,而不是突出显示的“视图”是子视图控制器(“项目视图控制器”)的视图。

在此处输入图像描述

容器控制器还通过额外的 IBOutlet 保留其子实例:

谢谢


更新 1:如果我在容器控制器的 viewDidLoad 中手动设置父/子关系,则所有旋转方法都会正确转发给子级。

但我真的不知道这是否是正确的做法,因为我想用 IB 来做所有事情。


更新 2:感谢@micantox 提示在对象库中使用“容器视图”,我已将我的 xib 文件转换为情节提要,现在子视图控制器已添加到其父级,所以我不必使用 addChildViewController 从代码手动添加它,旋转方法按预期转发。
“容器视图”基本上实现了嵌入 segue,并且仅受 iOS 6 支持。
这是我的 Storyboard 的更新屏幕截图:

在此处输入图像描述

0 投票
4 回答
2139 浏览

ios - Accessing another View Controller's IBOutlets Housed in a Container View

I have a Container View that holds 1 of 3 view controllers swapped out by 3 tabs (across the bottom).

Here's my Storyboard:

enter image description here

I'm taking this approach so that I can have custom tabs and a single Save button for all the fields in this big form.

How can I access the IBOutlets in those 3 child view controllers from inside my Entry Detail View Controller class?

Here's what I've done to try and access it in the parent.

#xA;

Then in my parent class (Entry Detail View Controller) I can't access the property:

#xA;

How do I access another view controller's IBOutlets when they are in a Container View? Hopefully I'm on the right track. Forgive me as I'm still quite new to Objective-C. :)

0 投票
1 回答
1049 浏览

ios - 是否可以将多个子视图控制器与父 UIViewController 关联,即使它们的视图不可见?

场景:我有一组对象。当设备处于纵向模式时,我希望使用 UITableView 显示它们,而当设备处于横向模式时,我希望在 UICollectionView 中显示它们。为此,我想使用 UIViewController 作为容器,并为其提供两个子视图控制器(UICollectionViewController 和 UITableViewController 各一个)。我希望方向经常改变,导致父级在两个子控制器之间来回交换。

在 iOS 的 View Controller Programming Guide (2012-12-13) 中,在第 117 和 118 页上,他们正在讨论子级之间的转换,每当子级视图从视图层次结构中删除时,它们都会从父级中删除子视图控制器. (具体参见示例 14-3。)

这是出于内存或其他任何原因所必需的,还是可以将两个子视图控制器与父视图控制器保持关联,并在视图之间来回翻转?这两种技术都有性能优势吗?

0 投票
2 回答
1326 浏览

ios - 使用自定义类嵌入 Segue

嗨,我对 IOS 应用程序开发很陌生,我遇到了一些问题。我创建了一个视图控制器,并在视图控制器的容器内嵌入了一个表视图控制器作为 segue。

默认情况下,当我测试应用程序时,表格视图控制器会显示。但是,当我为表视图控制器添加自定义类时,它不会显示在容器中。

我错过了什么?

0 投票
1 回答
672 浏览

ios - 容器视图和传递数据

我很难将数据传递给位于容器视图中的 tableViewController,如下所示:
在此处输入图像描述
对于上下文,包含两个容器视图的视图控制器本身就是 tabViewController 的第一个选项卡,它充当主视图splitViewController 的详细视图。

首先 - 我是否正确使用容器视图?第一个选项卡的目的是在顶部显示一些过滤器“设置”,这些设置可以通过 push segue 进行编辑(因此它是一个导航控制器),在底部,tableView 的数据将根据过滤器标准进行更新。使用两个容器视图来完成此功能似乎很直观,但我的经验很少,不知道是否有更好的方法,或者容器视图的实用程序是否比看起来更小众。

对于最初的问题 - 假设这个层次结构是有道理的,我很难将数据传递给这个特定的 tableViewController。tabViewController 中还有另外两个选项卡,它们都没有使用容器视图,因此我能够使用 appDelegate 成功遍历层次结构以在这些选项卡中显示数据,如下所示:

我跳过了通过委托将数据分配给每个 masterViewController0/1/2 的代码片段。如前所述,选项卡 2 和 3 有效。Tab 1 在运行时中断了程序,由于“[containerViewController childViewControllers]”返回一个空数组而终止,因此对 objectAtIndex:1 的调用(我希望它引用 tableView)超出了范围。我想知道在程序执行的这一点上是否没有初始化容器视图?但老实说,我不知道。

我认为我的查询与容器视图的关系不大,而与层次遍历有关,因此尽管在有关容器视图的文档中查看了解决方案,但我确实没有找到太多帮助。

提前感谢您的任何提示!

0 投票
1 回答
43816 浏览

ios - 如何在 iOS 中使用“容器视图”?

我注意到 XCode 中的 UI 组件:Container View.

在此处输入图像描述

根据提供的描述,我想利用它在几个不同的屏幕上显示我的应用程序的可重用组件。我一直在网上四处寻找一个基本教程或一些关于它的文档,但是我没有找到任何有用的东西。

请有人建议如何连接并使用它?目前看来,container view似乎没有调整大小,这是有问题的。任何有关如何启用此功能的提示也将不胜感激。

干杯。

0 投票
1 回答
638 浏览

objective-c - transitionFromViewController 中的 3d 动画

我尝试制作 3D 动画

我在 UINavigationController "PushViewController" 3D Animation Happen Throw 中编写 3D 动画

当我尝试在 transitionFromViewController 中重用此代码时

和 3D 动画发生但 toViewController 在动画后消失.. 任何人都可以帮助我吗?

0 投票
3 回答
64303 浏览

ios - 将子视图控制器的视图添加到父视图控制器的子视图中

我想添加一个 tableViewController 作为 containerViewController 的子视图控制器(如下所示)。根据 Apple 的View Controller Programming Guide,我可以通过 containerViewController 中的以下代码行来实现这一点:

事实上,这很好用。现在的问题是我不想将 tableViewController 的视图添加为 containerViewController 根视图的子视图。相反,我想将它添加为 containerView 的子视图(见图),它本身就是 containerViewController 根视图的子视图。所以我把上面的代码改成如下:

现在,当我启动应用程序时,它会立即崩溃并出现以下错误:

由于未捕获的异常“UIViewControllerHierarchyInconsistency”而终止应用程序,原因:“子视图控制器:应该有父视图控制器:但实际父视图是:”

这里有什么问题?不能将 childViewController 的视图添加到其 containerViewController 的特定视图中吗?或者我怎样才能在视图控制器层次结构中没有错误的情况下实现这一点?

容器视图控制器

0 投票
2 回答
8646 浏览

ios - iOS 滚动视图、容器视图 - 自动布局问题

我正在使用故事板和自动布局。我在 UIScrollView 中有一个容器视图。容器视图允许我在情节提要中布局一个长 (320, 1000) 视图。我将 UIScrollView 的内容大小设置为 (320,1000)。
我将 ContainerView 上的以下约束固定到 ScrollView:
宽度等于:320
高度等于:1,000
顶部空间到:Superview
对齐中心 X 到:Superview

Xcode 坚持要添加一个额外的约束。它将底部空间添加到: Superview Equals: -432。它不会让我删除这个约束!我不确定这是否会影响下面的问题。

在我的 iPhone 5 和模拟器的 4" 屏幕上一切正常。
当我在模拟器和我的 iPhone4S 的 3.5" 屏幕上测试它时,我的问题就来了。滚动内容大小被限制为 (320, 568),失去了 ContainerView 的底部。

有人能帮我理解为什么这在 3.5 英寸屏幕上不起作用吗?