问题标签 [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 投票
0 回答
137 浏览

autolayout - 根据 iOS 8 中子视图的内容调整超级视图的大小

在 iOS 8 中,根据子视图的内容调整超级视图的大小似乎不起作用。

我有一个没有高度约束的容器视图,它嵌入了一个定义了内容高度的视图控制器(两个视图分别具有绿色和橙色的背景色)。

在 iOS 7 中它可以正常工作(像往常一样),但在 iOS 8 中则不行,如下图所示。我正在使用 Xcode 6 并在情节提要中定义了所有约束。

这是一个错误吗?

iOS 8:容器视图没有高度(因此没有显示任何内容)。 iOS 7:容器视图的高度已根据嵌入式视图确定。

0 投票
1 回答
417 浏览

ios - 故事板,将 IBAction 的链接从容器视图拖到父级

这是一个名为 Club 的微不足道的 VC

在此处输入图像描述

俱乐部有一个功能:

现在关于ButtonA。显然,在 Storyboard 中,您可以从 ButtonA 拖动到“Club”中的函数“clickMe”。

现在。关于ButtonB。

在 Storyboard 中,有什么方法可以从 ButtonB 拖动到“Club”中的“clickMe”?

也许使用神秘的“对象”对象,或者......??

请注意,显然,您可以为小视图创建一个类,并具有一个功能:

然后,您可以从 ButtonB 拖动到 sameAsClickMe。但这完全是一件麻烦事。

请注意,使用这样的容器视图来处理主视图的不同“区域”是非常正常的(特别是如果您有东西滑动等等,并且当您有很多东西“彼此重叠”时)。使用容器视图将“部分”移动到主视图之外非常方便。但“忽略”点击是完全令人讨厌的。

在 Storyboard 中是否有一种晦涩的方法可以做到这一点?干杯!

只是 FTR,只有 iOS7+,没有更旧的

注意 - 朝着“其他方向”前进是经过充分探索并且很容易做到的。

0 投票
2 回答
12128 浏览

ios - 如何在 iOS 中显示带有动画的容器视图?

当用户点击原始视图控制器中的按钮时,我想显示我自己的自定义视图,因此我尝试定义用户点击按钮时导致的以下函数:

然而,当用户点击按钮时,容器视图会突然显示在屏幕上,但我想让它显示得更流畅。所以接下来我尝试用动画重写它,但是我碰壁了,因为我不知道我应该写什么才能用动画显示它:

这将返回一个错误:'NSInvalidArgumentException', reason: 'Children view controllers <mmmmlvalsllsl.ViewController: 0x7fc980f71f70> and <UIViewController: 0x7fc980f6dd00> must have a common parent view controller when calling -[UIViewController transitionFromViewController:toViewController:duration:options:animations:completion:]'

我想我应该使用该方法,但是我不知道要在animations:块中编写什么代码以及要completion:阻止什么。

如何编写动画代码?

0 投票
2 回答
889 浏览

ios - 将容器视图添加到导航控制器

我想创建一个包含一些视图的容器视图。我设法让它与自动布局一起工作。现在我想把这个容器放在一个UINavigationController. 我在 iOS 设计器中执行了此操作,但以下代码不再工作(它在没有导航控制器的情况下工作):

它在 C# 中,但如果您不熟悉它,那也没关系。我想知道如何将导航控制器的视图用作可以添加视图的容器视图。目前,我看到导航栏,但视图是黑屏。我尝试了一些东西,但我不知道我怎样才能让它工作。您的解决方案当然可以在 Objective-C 中。

编辑:

我在没有 AutoLayout 的情况下尝试了它,并且显示了表格视图。现在我想知道我做错了什么。这是我的自动布局代码:

我错过了什么?

0 投票
1 回答
82 浏览

objective-c - 在按钮单击时将第二个 UIViewController 加载到容器中

所以这是我的情况,我有几个UIViewController,它们是:

  1. 视图控制器
  2. 第一部门
  3. 第二部门

视图控制器 (1) 在左侧(在 a 内)有按钮UIView,它有一个UIContainerView通过手势向右滑动(以显示所述按钮)的按钮 - 希望这将是我的菜单(见截图)。

第一个扇区 (2) 我已经成功加载为上面提到的 ContainerView 的默认视图。

单击按钮时,我想将第二扇区 (3) 加载到 ContainerView 中。

到目前为止的截图:

控制器

我将如何将其加载到容器中?

我试图将“嵌入”从 Presenting Segues 拖到容器中,但这只是给出了viewDidLoad显然将其设置为默认值的选项。

0 投票
1 回答
1978 浏览

c# - 了解如何在 iOS Designer 中使用“容器视图”

Container View可以借助 . 在现有视图上添加一个iOS Designer。容器视图放置在现有视图上,并带有嵌入到新添加的视图控制器的转场。新添加的视图控制器负责容器视图的内容。

一个问题是您无法更改嵌入转场或创建新的嵌入转场。唯一的方法在这里描述。但是你怎么用它呢?我通过交换容器中的视图控制器看到了一个示例。那不是我想要的。我想在一个容器中显示多个视图控制器,但我只能通过代码来管理它。

那么这个Container View元素有哪些用例呢?

0 投票
1 回答
31 浏览

ios - 创建一个可重用的控件,它可以嵌入到 UIViews 中并处理它自己的模式

我正在尝试正确构建一个特定的控件。我将其称为 ImageTile。它基本上是一个小方框,当用户点击它时,将向用户显示(通过弹出窗口中的操作表)从库中选择图像或拍照的选项。根据响应,然后我将 UIImagePickerController 呈现在弹出框内(用于选择图像)或模态(用于拍摄新照片)。一旦他们拍摄/选择图像,我就会出现一个模态视图,并允许他们以几种简单的方式编辑图片。当他们完成编辑时,模式消失,原始的 ImageTile,而不是一个空白的方框,被用户编辑的图像填满。

问题是这个 ImageTile 控件将在应用程序的几个不同部分、多个 View Controller 层次结构中大量使用,等等……我真的希望它是一个基本上完全独立的单元,这样每当我在屏幕上的 UIView 中粘贴 ImageTile 时,上述所有功能都由 ImageTile 本身处理。

最初,我将它设为 UIViewController 子类(因此它可以呈现模式等),然后将其视图添加为屏幕上“持有者”视图的子视图。我知道不建议这样做,因为控制器不是 VC 层次结构的一部分……而且,我最终遇到了一些非常奇怪的行为,比如自动旋转,尤其是在涉及相机的情况下。

实现这样的事情的“正确”方法是什么?

0 投票
0 回答
153 浏览

ios - 转到子视图控制器

我有一个布局,其中有一个容器视图和多个操作(通过手势识别器,通过按钮等)。我想要更改容器视图内的控制器的操作,最好是通过执行 Segue。另外,我希望应用程序的设计是干净的——子控制器之间不应该有segues。它应该是一个具有多个 segue 的父控制器,其中每个 segue 都会更改嵌入式容器。我怎样才能做到这一点?唯一想到的是动态创建 Segue,这在 iOS 中似乎是不可能的,因为故事板会为您创建它们。

0 投票
1 回答
669 浏览

objective-c - 如何使用自动布局或以编程方式在 xcode 中的容器视图内调整 uitableview 的大小

我在容器视图中有一个 uitableview,我希望它完全适合我在容器视图中的 uiviewcontroller 内部。我尝试将 uitableview 中的前导、尾随顶部和底部约束添加到视图,但是这样做会使 tableview 在运行应用程序时消失。我怎样才能做到这一点?

0 投票
3 回答
602 浏览

ios - 获取子视图控制器的表视图大小

viewDidLoad我的子视图控制器(UITableViewController)中,我得到了contentSize.Heightafter call layoutIfNeeded。比我preferredContentSize用这些值设置的。在viewDidLoad我的容器(包含这个孩子)中,我还preferredContentSize根据孩子的preferredContentSize. 这适用于 iOS 8,但不适用于 iOS 7。

我知道viewDidLoad子视图控制器的 是viewDidLoad在容器之后调用的。

如何获取子视图的表格视图大小,或者如何强制子视图在容器之前布局其子视图?