ios6 ios7 uitoolbar uidocumentinteraction qlpreviewcontroller

ios6 - Configurando la barra inferior en QLPreviewController



ios7 uitoolbar (3)

Respuesta corta: NO, no en IOS6 +

Descripción:

Una cosa a tener en cuenta sobre QLPreviewController es que no está destinado a ser personalizado. Había otras bibliotecas que le permitían cambiar la funcionalidad, como:

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

Que no funcionan en iOS 6+ ya que Apple hizo un gran cambio en QLPreviewController y se está ejecutando técnicamente en un proceso separado. Aunque podría ser posible (no estoy seguro) el uso de API privada, pero su aplicación será rechazada.

Puede encontrar más información sobre este cambio aquí: http://oleb.net/blog/2012/10/remote-view-controllers-in-ios-6/

Espero que esto ayude

He integrado QLPreviewController y UIDocumentInteractionController en mi aplicación, y está funcionando bien.

El único problema es: quiero configurar la barra de herramientas inferior, quiero eliminar los elementos predeterminados de la barra de herramientas, que aparecen como se muestra en la imagen a continuación:

¿Hay alguna manera de hacerlo, por favor sugiera?


  • Subclase QLPreviewController.
  • Busque la barra de herramientas en la jerarquía de vista.
  • Tenga una propiedad UIToolbar en su clase que tenga el mismo marco que la barra de herramientas original.
  • Coloque su propia barra de herramientas sobre la predeterminada con los botones que desee.
  • Si desea que esté oculto como el comportamiento predeterminado de QLPreviewController, puede aplicar un valor clave a la propiedad oculta de la barra de herramientas predeterminada y presentar / ocultar la suya en consecuencia.

  1. Subclase UIToolbar
  2. Cree UINavigationController utilizando init (navigationBarClass: toolbarClass :) y suministre la UIToolbar subsclass creada en el paso 1 para toolbarClass
  3. Crea QLPreviewController instancia de QLPreviewController y presiona sobre la pila UINavigationController
  4. Dentro de UIToolbar subsclass anula setItems (_: animated :) . Para eliminar todos los botones, llame a super con la matriz vacía super.setItems([], animated: false) o, potencialmente, puede agregar solo los botones que desee conservar.
  5. Presente UINavigationController creado en el paso 2

Aquí está el ejemplo PreviewControllerHideBottomButtons