Questions tagged «uicontainerview»


4
如何以编程方式添加容器视图
容器视图可以通过Interface Editor轻松添加到情节提要中。添加后,“容器视图”将具有占位符视图,嵌入序列和(子)视图控制器。 但是,我无法找到以编程方式添加容器视图的方法。实际上,我什至找不到一个名为“ UIContainerViewso” 的类。 容器视图类的名称无疑是一个很好的开始。包括segue在内的完整指南将不胜感激。 我知道《 View Controller编程指南》,但是我不认为它与Interface Builder对Container Viewer的处理方式相同。例如,正确设置约束后,(子视图)将适应“容器视图”中的大小更改。

3
addChildViewController实际做什么?
我只是第一次涉足iOS开发,而我要做的第一件事就是实现一个自定义容器视图控制器 -让我们称之为它SideBarViewController-交换掉它可能使用的几个子视图控制器中的一个显示,几乎完全像标准的Tab Bar Controller一样。(它几乎是一个标签栏控制器,但具有可隐藏的侧菜单而不是标签栏。) 按照Apple文档中的说明,addChildViewController每当将子ViewController添加到容器中时,我都会调用。我的代码换出了当前的子视图控制器,如下所示SideBarViewController: - (void)showViewController:(UIViewController *)newViewController { UIViewController* oldViewController = [self.childViewControllers objectAtIndex:0]; [oldViewController removeFromParentViewController]; [oldViewController.view removeFromSuperview]; newViewController.view.frame = CGRectMake( 0, 0, self.view.frame.size.width, self.view.frame.size.height ); [self addChildViewController: newViewController]; [self.view addSubview: newViewController.view]; } 然后,我开始尝试弄清addChildViewController这里所做的事情,然后我意识到自己不知道。除了坚持新ViewController的在.childViewControllers阵,它似乎对任何事情没有影响。即使我从未调用过addChildViewController,从子控制器的视图到我在情节提要上设置的子控制器的操作和输出仍然可以正常工作,而且我无法想象它还会影响什么。 确实,如果我将代码重写为not call addChildViewController,而是看起来像这样…… - (void)showViewController:(UIViewController *)newViewController { // Get the current child from a member variable …

5
使用scrollview中的动态大小控制器调整容器视图的大小
我正在尝试在UIScrollView内创建一个具有动态高度的控制器的容器视图,并使用自动布局自动调整其大小。 视图控制器A是滚动视图,其中包括容器视图,以及下面的更多内容。 View Controller B是我希望具有动态大小的视图控制器,并且所有内容都将在View Controller A的“滚动视图”中以全高度显示。 我在获取B的动态大小以自动设置A中的Container View的大小时遇到​​了一些问题。但是,如果我在A中的Container View上设置了高度限制, 如果View Controller B的高度也为250,则将是预期的输出。对于高度1000,它也可以正常工作,据我所知,所有自动布局约束均已正确设置。不幸的是,由于高度实际上应该是动态的,因此我想完全避免设置高度限制。 我不确定是否有视图控制器BI可以设置任何设置来根据其内容自动更新其大小,或者我是否错过了其他技巧。任何帮助将非常感激! 是否可以在不设置高度约束的情况下根据View Controller B的大小来调整A中的Container View的大小?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.