在滚动视图中重用视图控制器. Swift iOS8开发

Xcode6中使用 Swift for iOS8,我需要创建一个滚动视图,滚动浏览动态创建的卡片.这些卡包含自己独特的图像,文本和按钮功能,但共享相同的布局.我无法理解如何在故事板中创建一个可重复使用的视图控制器,我可以从中构建每张卡,然后将它们全部嵌入到滚动视图容器中,以便我可以一次滑过它们.

通常情况下,我想询问有关Stack Overflow的更具体问题,但经过数小时的研究,我不知所措.非常感谢您的帮助!

您正在寻找自定义容器视图控制器.

如果以编程方式执行此操作,则在父控制器上调用addChildViewController(从而将子视图控制器添加到视图控制器层次结构中),执行子视图的所有配置(包括将其添加到父控制器的视图层次结构中),然后在最后,在子上调用didMovetoParentViewController:

let childController = self.storyboard?.instantiateViewControllerWithIdentifier("storyboardIdForChildScene") as UIViewController!
addChildViewController(childController)
childController.view.frame = ...
scrollView.addSubview(childController.view)
childController.didMovetoParentViewController(self)

在以编程方式删除时,您可以反转此过程,在子节点上调用willMovetoParentViewController:nil,从其超级视图中删除子视图,完成所有操作后,调用removeFromParentViewController:

childController.willMovetoParentViewController(nil)
childController.view.removeFromSuperview()
childController.removeFromParentViewController()

如果在Interface Builder中执行此操作,则更容易,只需将“容器视图”从“对象库”拖到父视图控制器的场景中:

有关如何执行此操作的详细信息,请参阅View Controller编程指南中的Create Custom Container View Controllers.有关为什么执行这些包含调用以使视图控制器层次结构与视图层次结构保持同步的重要性的讨论,请参阅WWDC 2011视频Implementing UIViewController Containment.

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...