iOS中的Android片段类似于swift

时间:2015-12-04 08:39:24

标签: android ios swift android-fragments

我在Swift中迈出了第一步(3天后),需要像Android的片段

我需要做什么:

在xibs中有一些自己的控制器视图,并将它们扩展到某个视图容器,这样它们就可以填满所有容器。

例如,我有一个菜单位于iPad的屏幕左侧,而在iPhone上,此菜单将隐藏在抽屉中。通过点击一个菜单项,我将所需的Fragment膨胀到一个容器中,在iPad的情况下,它占据了屏幕右侧的3/4,而在iPhone的情况下它需要全屏。

通过这种方法,我不必担心我的片段视图在哪里显示,它占据的屏幕的哪个部分(或者可能是整个屏幕),因为它是一个单独的片段&#39 ; s自己的控制器,可以用另一个片段替换(或堆叠),如果我想要后退,前面的片段将成为焦点

是否有这样的iOS模拟或我如何实现?

1 个答案:

答案 0 :(得分:6)

为了实现类似于片段的内容,您必须在View Controller中使用Container View,并在其中填充childViewControllers。

文档:Container View Controllers

您可以在Xcode中的Interface Builder的对象库中找到“Container View”元素。

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];      
}