2011-12-13 9 views
9

¿Es posible agregar QLPreviewController a UIView como subvista?Cómo agregar QLPreviewController como subvista en el objetivo C

Me trataron como esto

[self.view addSubview:previewViewController.view] 

También llamé reloadData

[previewViewController reloadData]; 

puedo comprobar con esta URL Adding QLPreviewController as subview doesn't load PDF. Pero yo no entendía lo que es self.pdfPreviewView

favor me guía cómo puedo añadir QLPreviewController como ver sub ..

+0

como de iOS6 esto es obsoleta: ver http://oleb.net/blog/2012/10/remote-view-controllers-in-io s-6/ –

Respuesta

21

Sí, es posible, ver el código de abajo:

QLPreviewController* preview = [[QLPreviewController alloc] init]; 
preview.dataSource = self; 
preview.delegate = self; 
[self addChildViewController:preview];//*view controller containment 
//set the frame from the parent view 
CGFloat w= self.quickLookView.frame.size.width; 
CGFloat h= self.quickLookView.frame.size.height; 
preview.view.frame = CGRectMake(0, 0,w, h); 
[self.quickLookView addSubview:preview.view];  
[preview didMoveToParentViewController:self]; 
//save a reference to the preview controller in an ivar 
self.previewController = preview; 
+2

Hola, gracias por tu respuesta. Tengo pocas consultas aquí ... porque soy un principiante de iOS. Estás diciendo que crees un rival para el controlador de vista previa. ¿Qué pasa con el tipo de datos es UIViewController/QLPreviewController? QuickLookView significa, dame más detalles por favor? 1 –

+1

@NagaHarishMovva: Basta con crear una propiedad denominada UIViewController previewController en su objeto - esto debe hacer lo que es;) – arnoapp

+0

@ AzzUrr1 voy a comprobar, Gracias –

2

3.x Swift

private var pVC: QLPreviewController? 

override func viewDidLoad() { 
    super.viewDidLoad() 
    // I do not not why, but it needs to be setup after delay. 
    DispatchQueue.main.asyncAfter(deadline: .now() + 1, execute: setupPreview) 
} 

private func setupPreview() { 
    if (pVC != nil) { return } 

    let preview = QLPreviewController() 
    preview.dataSource = self 
    preview.delegate = self 

    preview.view.frame = CGRect(origin: CGPoint(x: 0, y: 0), size: previewView.frame.size) 
    previewView.addSubview(preview.view) 

    preview.didMove(toParentViewController: self) 
    pVC = preview 
} 
Cuestiones relacionadas