2011-12-13 7 views
9

में सब्यूव्यू के रूप में QLPreviewController को जोड़ने के लिए कैसे UView को उप दृश्य के रूप में QLPreviewController जोड़ना संभव है।उद्देश्य सी

मैं इस

[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 एस -6/ –

उत्तर

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

हाय, आपके उत्तर के लिए धन्यवाद। मुझे यहां कुछ प्रश्न हैं .. क्योंकि मैं आईओएस शुरुआती हूं। पूर्वावलोकन कंट्रोलर के लिए ival बनाने के लिए आपकी कहानियां। डेटाटाइप के बारे में क्या यह UIViewController/QLPreviewController है? quickLookView का मतलब है, मुझे और विवरण दें pls? +1 –

+1

@NagaHarishMovva: बस अपने ऑब्जेक्ट में पूर्वावलोकन नियंत्रक नामक एक UIViewController प्रॉपर्टी बनाएं - यह चीज़ करना चाहिए;) – arnoapp

+0

@ AzzUrr1 मैं जांचूंगा, धन्यवाद –

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 
}