2011-12-13 150 views
9

是否可以将QLPreviewController作为子视图添加到UIView中。如何将QLPreviewController作为子视图添加到目标中C

我试过这样

[self.view addSubview:previewViewController.view] 

我也叫reloadData

[previewViewController reloadData]; 

我这个URL Adding QLPreviewController as subview doesn't load PDF检查。但我不明白什么是self.pdfPreviewView

请指导我如何添加QLPreviewController作为副视点..

+0

为iOS6的的,这是过时的: 看到http://oleb.net/blog/2012/10/remote-view-controllers-in-io s-6/ – 2013-11-04 09:15:21

回答

21

是其可能的,看下面的代码:

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

嗨,谢谢你的回复。我在这里有几个问题。因为我是iOS初学者。你说为previewController创建ival。数据类型是什么UIViewController/QLPreviewController? quickLookView的意思是,给我更多细节请问? +1 – 2011-12-17 06:29:30

2

斯威夫特3.X

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 
} 
相关问题