在iOS中类似于Android中的Fragment的组件是什么?

33

我想知道是否有一种方法可以在一个视图控制器中使用一些提供与 Android 中的 Fragment 相同功能的视图控制器?我想使用自定义视图控制器,因此不想使用NSTabViewControllerUISplitViewController等。

1个回答

46
容器视图控制器允许在另一个视图控制器中包含子视图控制器。点击类概述中的“more…”链接,查看文档

实现一个容器视图控制器
自定义UIViewController子类也可以作为容器视图控制器。容器视图控制器管理其拥有的其他视图控制器的内容呈现,也称为其子视图控制器。子视图可以原样呈现,也可以与容器视图控制器所拥有的视图一起呈现....

在storyboard中使用它们就像将Container View拖到您的视图控制器中一样简单。

enter image description here

Xcode会自动添加一个子视图控制器到其中。

enter image description here


当使用Xib时,Container View不可用。我的方法是通过调用- (void)addChildViewController:(UIViewController *)childController;在代码中添加一个视图控制器。-> https://developer.apple.com/documentation/uikit/uiviewcontroller/1621394-addchildviewcontroller - Bruno Bieri
1
这个答案也给了你一个提示:https://dev59.com/5FwY5IYBdhLWcg3wgX6V#32554359,而苹果的文档也可以帮助你:https://developer.apple.com/library/archive/featuredarticles/ViewControllerPGforiPhoneOS/ImplementingaContainerViewController.html#//apple_ref/doc/uid/TP40007457-CH11-SW13 - Bruno Bieri

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接