我在Swift中迈出了第一步(3天后),需要像Android的片段
我需要做什么:
在xibs中有一些自己的控制器视图,并将它们扩展到某个视图容器,这样它们就可以填满所有容器。
例如,我有一个菜单位于iPad的屏幕左侧,而在iPhone上,此菜单将隐藏在抽屉中。通过点击一个菜单项,我将所需的Fragment膨胀到一个容器中,在iPad的情况下,它占据了屏幕右侧的3/4,而在iPhone的情况下它需要全屏。
通过这种方法,我不必担心我的片段视图在哪里显示,它占据的屏幕的哪个部分(或者可能是整个屏幕),因为它是一个单独的片段&#39 ; s自己的控制器,可以用另一个片段替换(或堆叠),如果我想要后退,前面的片段将成为焦点
是否有这样的iOS模拟或我如何实现?
答案 0 :(得分:6)
为了实现类似于片段的内容,您必须在View Controller中使用Container View,并在其中填充childViewControllers。
您可以在Xcode中的Interface Builder的对象库中找到“Container View”元素。
此外,您可以创建要通过代码添加它的新视图控制器,如下所示:
Obj-C代码:
//To add child VC
- (void) displayContentController: (UIViewController*) content;
{
[self addChildViewController:content];
content.view.frame = self.containerView.bounds;
[self.containerView addSubview:content.view];
[content didMoveToParentViewController:self];
}
//To remove child VC
- (void) hideContentController: (UIViewController*) content
{
[content willMoveToParentViewController:nil];
[content.view removeFromSuperview];
[content removeFromParentViewController];
}