6

我在我的应用程序中集成了 QLPreviewController 和 UIDocumentInteractionController,它工作正常。

唯一的问题是 - 我想配置底部工具栏,我想删除默认工具栏项目,如下图所示:

带有要删除的项目的底部工具栏

有什么办法可以,请指教。

4

3 回答 3

2

简短回答:不,不在 IOS6+ 中

描述:

关于 QLPreviewController 需要注意的一件事是它不是要定制的。还有其他库允许您更改功能,例如:

https://github.com/rob-brown/RBFilePreviewer

这在 iOS 6+ 中不起作用,因为苹果在 QLPreviewController 中进行了重大更改,并且它在技术上运行在一个单独的进程中。尽管可能(不确定)使用私有 api,但您的应用程序将被拒绝。

您可以在此处找到有关此更改的更多信息:http: //oleb.net/blog/2012/10/remote-view-controllers-in-ios-6/

希望这可以帮助

于 2013-10-16T23:19:19.600 回答
2
  1. 子类UIToolbar
  2. UINavigationController使用 init(navigationBarClass:toolbarClass:)创建并提供UIToolbar subsclass在步骤 1 中创建的toolbarClass
  3. 创建QLPreviewController实例并推送到 UINavigationController 堆栈
  4. UIToolbar subsclass覆盖 setItems(_:animated:)内部。要删除所有按钮,请使用空数组调用 super,super.setItems([], animated: false)或者您可以仅添加要保留的按钮。
  5. UINavigationController在步骤 2 中创建的礼物

这是示例PreviewControllerHideBottomButtons

于 2016-09-02T21:33:54.943 回答
0
  • 子类 QLPreviewController。
  • 在视图层次结构中搜索工具栏。
  • 在您的类中有一个 UIToolbar 属性,该属性与原始工具栏具有相同的框架。
  • 使用您想要的任何按钮将您自己的工具栏放在默认工具栏上方。
  • 如果您希望将其隐藏为 QLPreviewController 的默认行为,您可以通过键值观察默认工具栏的 hidden 属性并相应地呈现/隐藏您自己的属性。
于 2013-12-09T16:04:59.907 回答