2017-03-27 8 views
5

क्या किसी आइटम का शीर्षक QLPreviewController में बदलना संभव है?QLPreviewController शीर्षक बदलें?

मैं पहले से ही के साथ की कोशिश की है:

  1. उपवर्गीकरण QLPreviewController
  2. जोड़े

    override func viewDidAppear(_ animated: Bool) { 
        self.navigationController?.navigationBar.topItem?.title = "Bericht" 
    } 
    

लेकिन आप केवल शायद 1/4 दूसरे के लिए शीर्षक देखते हैं।

कोई भी विचार?

+0

मैं फ़ाइल का नाम बदलने के बिना यूआरएल का नामकरण करूं? – derdida

उत्तर

5

आप अपने url से एक अलग lastPathComponent के अलावा अन्य शीर्षक प्रदर्शित करने की जरूरत है, तो आप QLPreviewItem उपवर्ग और अपने खुद के शीर्षक वैकल्पिक संपत्ति को लागू प्रदान कर सकते हैं:

उदाहरण संपत्ति घोषणा:

var previewItemTitle: String? { get } 

पूर्वावलोकन आइटम के लिए प्रदर्शित करने के लिए शीर्षक।

आप इस संपत्ति के लिए एक गेटर विधि को लागू नहीं करते हैं, या यदि आपका विधि रिटर्न शून्य, quicklook URL या आइटम की सामग्री की जांच करता है उपयोगकर्ता के लिए प्रदर्शित करने के लिए एक उपयुक्त शीर्षक निर्धारित करने के लिए पूर्वावलोकन किया जा रहा है। कस्टम शीर्षक प्रदान करने के लिए इस प्रॉपर्टी के लिए गैर-शून्य मूल्य लौटाएं।


protocol QLPreviewItem : NSObjectProtocol 

विवरण

QLPreviewItem प्रोटोकॉल (MacOS में आईओएस या QLPreviewPanel में QLPreviewController) गुण आप अपने आवेदन की सामग्री एक quicklook पूर्वावलोकन में दृश्यमान बनाने के लिए लागू परिभाषित करता है। इस प्रोटोकॉल में विधियों को NSURL कक्षा पर एक श्रेणी के रूप में भी घोषित किया गया है। नतीजतन, आप NSURL ऑब्जेक्ट्स का पूर्वावलोकन सीधे पूर्वावलोकन आइटम के रूप में कर सकते हैं-बशर्ते कि आप उन आइटम्स के डिफ़ॉल्ट शीर्षक का उपयोग करना चाहते हैं। एक डिफ़ॉल्ट शीर्षक किसी आइटम के URL का अंतिम पथ घटक है। यदि आप अपना खुद का पूर्वावलोकन आइटम शीर्षक प्रदान करना चाहते हैं, तो इस प्रोटोकॉल को अपनाए गए अपने स्वयं के पूर्वावलोकन आइटम ऑब्जेक्ट बनाएं।

पहले उपवर्ग QLPreviewItem:

import UIKit 
import QuickLook 
class PreviewItem: NSObject, QLPreviewItem { 
    var previewItemURL: URL? 
    var previewItemTitle: String? 
} 

फिर अपने नियंत्रक में आप QLPreviewItem बजाय लौट URL के:

import UIKit 
import QuickLook 

class ViewController: UIViewController, QLPreviewControllerDelegate, QLPreviewControllerDataSource { 
    let item = PreviewItem() 
    override func viewDidLoad() { 
     super.viewDidLoad() 
     item.previewItemTitle = "Custom Title" 
     item.previewItemURL = Bundle.main.url(forResource: "your file", withExtension: "ext") 
    } 
    override func viewDidAppear(_ animated: Bool) { 
     super.viewDidAppear(animated) 
     quickLook() 
    } 
    func numberOfPreviewItems(in controller: QLPreviewController) -> Int { 
     return 1 
    } 
    func quickLook() { 
     let preview = QLPreviewController() 
     preview.delegate = self 
     preview.dataSource = self 
     preview.currentPreviewItemIndex = 0 
     present(preview, animated: true) 
    } 
    func previewController(_ controller: QLPreviewController, previewItemAt index: Int) -> QLPreviewItem { 
     return item 
    } 
} 
संबंधित मुद्दे