2011-12-13 56 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 
} 
相關問題