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

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

概述在 Xcode6中使用 Swift for iOS8,我需要创建一个滚动视图,滚动浏览动态创建的卡片.这些卡包含自己独特的图像,文本和按钮功能,但共享相同的布局.我无法理解如何在故事板中创建一个可重复使用的视图控制器,我可以从中构建每张卡,然后将它们全部嵌入到滚动视图容器中,以便我可以一次滑过它们. 通常情况下,我想询问有关Stack Overflow的更具体问题,但经过数小时的研究,我不知所措. 在 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.

总结

以上是内存溢出为你收集整理的在滚动视图中重用视图控制器. Swift iOS8开发全部内容,希望文章能够帮你解决在滚动视图中重用视图控制器. Swift iOS8开发所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1032213.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存