Los métodos delegados Quicklook / QLPreviewController no llaman en iOS 10 Xcode 8
Actualmente estoy probando mi versión actual en iOS10. estoy usandoXcode 8 beta 6 para pruebas. aquíLos métodos delegados Quicklook / QLPreviewController no están llamando. Este conjunto de códigos se trabajó con las versiones XCode 7 e iOS 9.3. Revisé este problema en el foro de desarrolladores de Apple. Pero no pude encontrar una respuesta. ¿Alguien ha solucionado este problema? (Estoy usando Objective-C)
Cómo usar Quicklook / QLPreviewController en XCode 8 (iOS 10)?
// ----------------- SOLUCIÓN para iOS 10 (vista previa como una subvista) -------------------
Este problema se produce cuando agrega el previsualizador como una subvista. Luego, usamos las líneas de código a continuación principalmente en iOS 9.3 y versiones inferiores.
[self addChildViewController:previewer];
self.view addSubview:previewer.view];
[previewer didMoveToParentViewController:self];
En iOS 10, el problema se debe a la siguiente línea de código.
[self addChildViewController:previewer];
Para iOS 10, debemos verificar la versión y agregar la línea de código anterior. A continuación se muestra el código de trabajo establecido.
QLPreviewController* previewer = [[QLPreviewController alloc] init];
previewer.dataSource = self;
previewer.delegate = self;
// To avoid iOS 10 previewer issue.
if (SYSTEM_VERSION_LESS_THAN(@"10.0")) {
[self addChildViewController:previewer];
}
CGFloat width = self.view.frame.size.width;
CGFloat height = self.view.frame.size.height;
previewer.view.frame = CGRectMake(0, 102, width, height-300);
[self.view addSubview:previewer.view];
[previewer didMoveToParentViewController:self];