5

ठीक है, तो क्या मैं एक दस्तावेज़ दर्शक है कि इसी तरह इस तस्वीर है बनाने करना कोशिश कर रहा हूँ: enter image description hereकस्टम QLPreviewController या UIDocumentInteractionController कि स्पर्श घटनाओं को रोक सकता

असल में क्या होने चाहिए, जब स्क्रीन कहीं भी उपयोग किया जाता है , ऊपर और नीचे बार दिखाई देगा। फिर से टैप करें और वे गायब हो जाते हैं।

मैंने QLPreviewController उप-वर्गीकृत किया है और QLPreviewController के साथ पहले से आता है (शीर्ष) नेविगेशन बार का लाभ उठाने में कामयाब रहा है। यह ठीक काम करता है। अब जब भी शीर्ष बार प्रदर्शित होता है तो मुझे प्रदर्शित करने के लिए नीचे बार प्राप्त करने की आवश्यकता होती है। मैं पृष्ठ के निचले हिस्से में UIToolbar जोड़ सकता हूं, लेकिन मुझे स्पर्श ईवेंट को अवरुद्ध करने की आवश्यकता है ताकि मैं निचले पट्टी को छुपा/खोल सकूं। मैं यह समझने के लिए प्रतीत नहीं कर सकता कि इसे कैसे काम पर लाया जाए। मैंने उप-वर्ग को स्वयं को कोई किस्मत के दृश्य में देखने के लिए UITapGestureRecognizer जोड़ने का प्रयास किया। मैंने ओवरले UIView बनाने की भी कोशिश की जिसमें UITapGestureRecognizer है लेकिन इससे उपयोगकर्ता के नीचे दस्तावेज़ के साथ बातचीत करने से रोका गया है।

किसी के पास यह कैसे करना है इस पर कोई विचार है? अग्रिम में धन्यवाद!

उत्तर

3

ठीक है, मैं पता लगा कि समस्या क्या UITapGestureRecognizer साथ था। आप स्वयं के लिए प्रतिनिधि निर्धारित करते हैं, और उसके बाद

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer

समारोह को ओवरराइड और हाँ लौटना ही होगा।

UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(documentTapped:)]; 
tapGesture.cancelsTouchesInView = NO; 
tapGesture.delegate = self; 
[self.view addGestureRecognizer:[tapGesture autorelease]]; 

तो बस:: तो मेरी QLPreviewController उपवर्ग में, मैं UIGestureRecognizerDelegate viewWillAppear में लागू है, और

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer { 
    return YES; 
} 

इस तरह, QLPreviewController अभी भी बहुत अन्य सभी गैर-नल स्पर्श इवेंट प्राप्त होगा उपयोगकर्ता अभी भी दस्तावेज़

0

उपवर्ग QLPreviewController साथ बातचीत कर सकते हैं और फिर ओवरराइड कि

-(void)contentWasTappedInPreviewContentController:(id)item {} 

यही वह है!

+0

दुर्भाग्यवश यह एक मूल्यवान समाधान प्रतीत नहीं होता है क्योंकि सेब इसे एक निजी एपीआई मानता है। http://stackoverflow.com/questions/6091027/qlpreviewcontrollers-view#comment34156919_22231721 देखें – Lifely

संबंधित मुद्दे