【问题标题】:2 view controllers in one (collection view?)2 个视图控制器合二为一(集合视图?)
【发布时间】:2017-08-30 04:53:15
【问题描述】:

我有这个问题:我需要打开一个 PDF 文档并在显示屏底部显示我的几个元素(按钮、文本字段)。 Pdf 文档可以作为任何视图控制器打开:

let document = PDFDocument(url: remotePDFDocumentURL)!
let readerController = PDFViewController.createNew(with: document)
navigationController?.pushViewController(readerController, animated: true)

我想到的第一件事是使用集合视图。但是还没有结果,因为 PDF 文档是动态创建的。老实说,我以前没有使用过简历。 可能有一种不太正确的方法 - 只需将元素添加到创建的 (PDF) 视图控制器中,然后将所有元素移高一点。

提示正确的决定,谢谢!

【问题讨论】:

  • 使用容器视图(即添加 readerController.view 作为主视图控制器视图的子视图,并将 readerController 作为主 VC 的子视图)。
  • 我仍然知道为什么是 collectionView ?你想做什么?您在顶部有一个按钮和一个文本字段,当您点击一个按钮时,您想打开并在其下方显示 pdf 仅此而已?如果是,请将 PDFViewController 作为子视图添加到您的视图中,这不应该做您的工作吗?
  • 将两个视图的内容添加到一个 viewController 上,您在其中显示 fullView Pdf,如果您想一次显示两个视图,请添加一个容器视图,该视图将查看您的第二个 collectionView
  • 谢谢各位!它确实是通过将控制器添加为孩子来解决的。我设置了视图的大小,并放置在所有必要的组件下方。

标签: ios swift pdf uiviewcontroller uicollectionview


【解决方案1】:

我建议如下(只是伪代码,因为我目前没有可用的 Xcode):

  • 创建自己的视图控制器,我们称之为ContainerViewController
  • 将您的自定义控件添加到其中
  • 在其中添加 PDF 的占位符视图(带插座)
  • 随心所欲地布置一切
  • PDFViewControllerview作为子视图添加到容器中;摆出来
  • (如果需要:使 PDFViewController 可以从您的容器中访问)
  • 在容器视图控制器中满足 view container containment 要求
  • 将容器推送到导航控制器上

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-20
    • 2017-12-13
    • 2020-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多