2013-10-11 45 views
5

iOS 7 खेल एक नया इशारा, एक UINavigationController में वापस जाएं बटन के लिए एक शॉर्टकट के रूप में स्क्रीन भर में बाएं से दाएं स्वाइप।न्यू इशारा - स्वाइप बाएं से दाएं - पुराने अनुप्रयोग में UINavigationController में वापस जाएं बटन के लिए शॉर्टकट के रूप में

मेरा ऐप मुक्त करने के लिए इस व्यवहार उठा जा करने के लिए प्रतीत नहीं होता। इस आईएसओ ऐप (आईओएस 5.1 के लिए बनाया गया और बाद में एक्सकोड 4.6.3 में) के लिए यह इशारा उपलब्ध कराने के लिए मुझे क्या करने की ज़रूरत है?

यहाँ वीडियो, The new gesture in iOS 7 you want to know about साथ एक लेख, एक उपयोगकर्ता के नजरिए से है।

उत्तर में interactivePopGestureRecognizer के साथ कुछ ऐसा हो सकता है जो UIGestureRecognizer सबक्लास है।

उत्तर

3

यह स्वचालित रूप से काम करना चाहिए अगर वापस बटन दिख रहा है। यदि आप बैक बटन के बजाय बाएंबर्टबटन इटैम प्रदर्शित कर रहे हैं, तो इशारा डिफ़ॉल्ट रूप से मौजूद नहीं होगा। साथ ही, यदि आप UINavigationBar का उपयोग कर रहे हैं लेकिन UINavigationController नहीं हैं, तो आपको यह कार्यक्षमता दिखाई नहीं देगी।

आप एक UINavigationController का उपयोग कर रहे हैं और आपका दृश्य नियंत्रक के नेविगेशन आइटम एक leftBarButtonItem हैं, तो यह अभी भी, एक प्रतिनिधि संलग्न द्वारा कड़ी चोट नेविगेशन नियंत्रक के अधिकार के इशारे के लिए छोड़ दिया करने के लिए कार्यक्षमता जोड़ने के लिए संभव है नेविगेशन नियंत्रक के interactivePopGestureRecognizer

संपादित करें: मुझे नहीं पता था कि आप एसडीके 5.1 के खिलाफ निर्माण कर रहे हैं। यह iOS 7 एसडीके में एक नई सुविधा है, इसलिए मेरा मानना ​​है कि आप नई सुविधा का उपयोग करने के में Xcode 5 iOS 7 एसडीके के खिलाफ के साथ निर्माण करने के लिए की आवश्यकता होगी।

+0

मैं स्वचालित रूप से जेनरेट किए गए 'बैक' बटन के साथ एक सादे-वेनिला 'UINavigationController' का उपयोग कर रहा हूं। मुझे लगता है कि आईओएस 7 में मेरे ऐप को स्वाइप-टू-गो-बैक फीचर मुफ्त में मिल जाएगी।लेकिन स्पष्ट रूप से नहीं। –

+0

आप एसडीके 5.1 के खिलाफ निर्माण कर रहे हैं। यह सुविधा 5.1 में नहीं है। नवीनतम एसडीके बनाने के लिए और डिफ़ॉल्ट बैक बटन के साथ यह – user1010819

0

मैं कस्टम leftBarButtom समस्या

नेविगेशन नियंत्रक

आप UINavigationController उपवर्ग और उस में "UIGestureRecognizerDelegate" प्रोटोकॉल लागू है, और जोड़ने की जरूरत के लिए इशारा प्रतिनिधि सेट के लिए एकदम सही समाधान पाया है viewDidLoad पर कुछ कोड

कस्टमNavigationController.m

@interface CBNavigationController: UINavigationController @end

@implementation CBNavigationController

  • (शून्य) viewDidLoad {__weak CBNavigationController * weakSelf = आत्म;

    अगर ([आत्म respondsToSelector: @selector (interactivePopGestureRecognizer)]) { self.interactivePopGestureRecognizer.delegate = weakSelf; }}

@end

और सिर्फ अपने नेविगेशन नियंत्रक से इस वर्ग के वारिस, यह सही काम करेंगे।

+1

काम करेगा, आप केवल 'self.interactivePopGestureRecognizer.delegate = self;' कर सकते हैं। प्रतिनिधियों को 'UIGestureRecognizer' में कमजोर घोषित किया गया है। आपको '[स्वयं प्रतिक्रियाओं को चयनकर्ता: ....]' की जांच करने की भी आवश्यकता नहीं है, यदि संकलक प्रोटोकॉल को लागू नहीं करता है तो संकलक आपको चेतावनी देगा। –

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