问题标签 [uicontainerview]

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 投票
2 回答
38131 浏览

objective-c - 如何在 Objective-C 中添加具有自己的 UIViewController 的子视图?

我正在与有自己的子视图作斗争UIViewControllers。我有一个UIViewController带视图(浅粉色)和两个按钮toolbar。我希望在按下第一个按钮时显示蓝色视图,并在按下第二个按钮时显示黄色视图。如果我只是想显示一个视图应该很容易。但是蓝色视图将包含一个表,因此它需要它自己的控制器。那是我的第一堂课。我从这个 SO question开始,在那里我了解到我需要一个用于桌子的控制器。

所以,我要备份并在这里采取一些婴儿步骤。ViewController下面是我的实用程序(主视图控制器)和其他两个控制器(蓝色和黄色)的简单起点图片。想象一下,当实用程序ViewController(主视图)首次显示时,蓝色(默认)视图将显示在粉红色视图所在的位置。用户将能够单击这两个按钮来回移动,并且永远不会显示粉红色的视图。我只希望蓝色视图去粉色视图所在的位置,黄色视图去粉色视图所在的位置。我希望这是有道理的。

简单的故事板图像

我正在尝试使用addChildViewController. 据我所见,有两种方法可以做到这一点:storyboard或以addChildViewController编程方式使用容器视图。我想以编程方式进行。我不想使用 aNavigationController或 Tab 栏。我只想添加控制器并在按下相关按钮时将正确的视图推入粉红色视图。

以下是我到目前为止的代码。我要做的就是在粉红色视图所在的位置显示蓝色视图。从我所见,我应该能够添加addChildViewControllerSubView。这段代码不是为我做的。我的困惑越来越好。有人可以帮我在粉红色视图的位置显示蓝色视图吗?

除了在 viewDidLoad 中显示蓝色视图之外,此代码不打算做任何事情。

IDUtilityViewController.h

IDUtilityViewController.m

- - - - - - - - - - - - - 编辑 - - - - - - - - - - - - --------

self.aboutVC.aboutView 为零。但我把它连接到storyboard. 我还需要实例化它吗?

在此处输入图像描述

0 投票
1 回答
2148 浏览

ios - 通过自定义 Segue 将 ViewController 嵌入到容器视图中(有点像替换 segues)

到目前为止,我在我的应用程序中使用 UISplitViewController。要为 masterView 添加隐藏功能(移出屏幕向左),我创建了一个自定义视图控制器,其中包含两个容器视图表单 masterView 和 detailsView。事情按预期工作。

现在在某个地方,我使用了替换转场来替换详细信息视图。问题来了。如何创建一个自定义 segue,将 viewController 嵌入到容器视图中,就像替换 segue 一样?

0 投票
2 回答
954 浏览

view - 容器视图弹出视图以编程方式

在 iPad 视图中,我添加了容器视图,添加 Xcode 后自动创建新视图并使用嵌入 segue 连接到我的主视图。现在在代码中我尝试以编程方式调用这个新视图并且不能这样做,我需要用弹出框显示这个表单。

我尝试:

这项工作,但全屏显示新视图,但我需要显示弹出窗口。我尝试了很多东西,但都不起作用(。

我试试这个:

但收到异常 SIGABRT

我试试这个:

接收异常 SIGABRT

尝试这个:

相同的 SIGABRT

0 投票
1 回答
2801 浏览

ios - 使用带有故事板和导航的容器视图

我正在使用容器视图构建应用程序。我一直在浏览互联网以查找有关如何正确使用它的示例,但不幸的是,我发现的示例很少,而且到目前为止,它们都没有按照我打算的方式使用故事板。这是我的故事板的图片: 应用方案

我写的代码是这样的:(FirstWinViewController.m)

(ContainerClassViewController.m)

它完全按照我想要的方式工作。我的问题是:

. 是否符合苹果的规定?

. 与通过代码创建 Container 视图并使用 AppDelegate 管理它们的示例相比,这种方法是否使用更多内存、留下垃圾或使用更多资源?

提前致谢。

0 投票
2 回答
2664 浏览

ios - UIPageViewController 调整子视图的大小为自己保留空间

我正在为 ios 7.1 开发 iPhone 应用程序。ViewController层次结构类似于“ - NavigationController> UIViewController-> UIPageViewController-> UITableViewControllers”。NavigationBar是隐藏的。状态栏存在。一切都以编程方式完成。没有使用故事板/Xib。

在 中UIPageViewController,我正在创建一个自定义标题视图(类似于导航栏,但在它自己的视图中)。因此子控制器的视图 ( UITableView) 应该被推到这个标题视图之下。translatesAutoresizingMaskIntoConstraints在将子视图设置为 NO后,我尝试添加约束(“V:[TitleView]-0-[ChildView]”) 。但这导致了一个空白屏幕(标题视图除外)。更改子视图的框架等都没有任何效果。

除了设置上述标志和添加约束外,我没有添加/修改任何自动布局/自动调整大小相关的设置。该应用程序仅支持纵向模式(主页按钮向下)。也不会有任何其他动态布局更改。感谢您是否可以帮助解决此问题。

0 投票
1 回答
1166 浏览

ios - 如何在里面实现带有 CollectionView 的 ViewController?

我正在尝试在我的应用中实现一个类似于 Instagram 个人资料页面的“个人资料”页面 Instagram 线框

但我遇到的问题是下面的 UICollectionView 中的单元格由 -collectionView:cellForItemAtIndexPath 加载但它一次加载每个单元格,它不只是按应有的方式加载可见单元格。这是因为它在滚动视图内,使每个单元格立即加载。

单元格的图像将通过 API 从服务器发送,我想在用户滚动到页面的 2/3 时进行加载。这可以在 UICollectionViewController 中轻松完成。但我想知道如何在 ViewController 中执行此操作,该 ViewController 在较低路径中包含 collectionView。

请帮忙。我认为使用 CollectionView 的 Header 作为页面的上部可能会解决问题。但是我也想在用户点击按钮然后下面的显示发生变化时实现这一点(就像 instagram 页面一样)。所以我不确定我应该往哪个方向走。它应该是自定义容器 VC 还是其他?

TIA

0 投票
2 回答
1768 浏览

ios - 容器视图控制器无法处理 Unwind Segue Action

我在尝试使用自定义 segue 从作为子项添加到另一个视图控制器的视图控制器中放松时遇到问题。

这是 MyCustomSegue.m:

这是我的 FirstVC.m:

所有必要的连接也都在情节提要中完成。

我的问题是-segueForUnwindingToViewController:永远不会被调用。一旦-viewControllerForUnwindSegueAction:fromViewController:withSender:返回,我的程序就会崩溃,并出现以下异常:

据我了解,崩溃的原因是我希望我的容器视图控制器成为处理 unwind segue 动作的控制器,这是不可能的(因为容器视图控制器只要求其级处理 unwind segue。

这是对的吗?我能做些什么来解决我的问题?

谢谢!

0 投票
1 回答
1027 浏览

ios - 容器视图覆盖了我的图像视图

我有一个默认情况下应该被 imageView 隐藏的 containerView,在启动时图像应该覆盖容器。然而,即使 IB 中的分层是正确的,并且在容器之后更新了 imageView,容器仍然显示在图像前面。有没有办法阻止这种情况发生?

这是IB的大纲:

在此处输入图像描述

当我第一次发布这个时,我有图像视图,以及主视图中视图上的三个按钮。但从那以后,我将其更改为显示方式。

鉴于我对每个子视图都有如下出口:Container View-Container、Image View-backgroundImage、Buttons-item1、item2、item3。

这是我尝试过的事情的清单:

  1. [self.view sendSubviewToBack: _Container];
  2. [self.view bringSubviewToFront: _item1];
  3. [self.view bringSubviewToFront: _item2];
  4. [self.view bringSubviewToFront: _item3];
  5. [self.view bringSubviewToFront: _backgroundImage];

我还尝试将容器视图从视图控制器的可见坐标中移出,但这也不起作用。

这也是我的视图控制器的 viewDidAppear 方法:

首先,我设置容器视图,然后对按钮和图像视图进行一些初始设置。在这个方法的底部是我放置子视图命令的地方。希望这会有所帮助。

}

0 投票
0 回答
809 浏览

ios - 嵌入容器视图时,从 nib 加载的视图未正确调整大小

我有几个带有复杂笔尖的视图控制器/视图,我想在不同的项目中重用。我试图通过在我的新项目中构建一个容器视图控制器并将视图控制器嵌入到容器中来做到这一点。视图正在从我的项目中的 nib 加载。

尽管我的原始项目更复杂,但我构建了一个示例项目来说明我遇到的问题。示例项目具有如下所述的类和文件

1) CSMSketchView (.h and .m) -- 允许用户在屏幕上绘图

2) CSMSketchViewController (.h and .m) -- 用于控制草图视图和管理撤消/重做/清除按钮。

3) CSMSketchViewController.xib -- 包含草图视图的布局信息

在 xib 文件中,撤消/重做/清除按钮被放置在一个容器视图中,它们之间有空白的间隔视图,如下所示。橙色和黄色框是间隔视图,右侧的蓝色是容器视图的末端。我还在 xib 的左侧、右侧和底部添加了按钮。有自动布局约束使这些按钮保持居中并远离视图边缘 20。还有自动布局约束将容器视图中的按钮和视图行固定到容器视图,同时允许间隔视图的宽度波动。

xib 文件布局

我的主故事板有一个视图,其中一个 CSMSketchViewController 嵌入在容器视图中,如下所示。

在此处输入图像描述

当我运行程序时,视图的布局如下所示。

在此处输入图像描述

有两个问题 - 带有按钮的容器视图没有按应有的方式拉伸,并且应该位于视图底部的按钮位于视图的顶部。我做了一些研究并观看了 WWDC 2012 的一些视频,得出的结论是 CSMSketchView 控制器拥有的 CSMSketchView 在嵌入容器视图后没有被调整大小。

我的想法是,我需要添加一两行代码来指示 CSMSketchView 在嵌入容器后调整其框架的大小。不幸的是,我不确定哪一行代码是合适的或在哪里添加代码。

0 投票
1 回答
545 浏览

ios - iOS - 使子 UIVewController 背景(ContainerView)透明

我在 parentViewController 中创建了一个 ContainerView 并填充了 childViewController。

我希望子 childViewController 背景是透明的。我已经使它的视图变得透明,但它没有帮助。

我能做些什么?