2012-06-24 21 views
5

स्केलिंग के बजाय, जो मुझे लगता है कि चुटकी इशारा आमतौर पर उपयोग किया जाता है, मैं सिर्फ यह पता लगाने के लिए देख रहा हूं कि चुटकी चुटकी बनाम चुटकी थी या नहीं, इसलिए मैं कुछ तालिका खंडों को संकुचित या विस्तार कर सकता हूं। मुझसे यह कैसे होगा?इशारा चुटकी बनाम चुटकी में चुटकी का पता लगाने के लिए कैसे?

+0

यह .velocity है, जो (जाहिर है!) जो रास्ता के आधार पर सकारात्मक है या नकारात्मक उपयोग करने के लिए कहीं बेहतर है में एक NSLog रख कर आ रहे हैं प्रयोग कर सकते हैं तुम जा रहे हो। नीचे दिए गए जवाब बेकार हैं। – Fattie

उत्तर

7

अच्छा, यह एक आसान लगता है। UIPinchGestureRecognizer कक्षा में केवल दो गुण, scale और velocity है। यह तार्किक लगता है कि एक नकारात्मक scale का मतलब एक आंतरिक चुटकी, सकारात्मक scale एक बाहरी चुटकी होगा।

एनबी: "नकारात्मक" भ्रामक हो सकता है। "छोटा" 0.0 < scale < 1.0 है, "बड़ा" scale > 1.0 है।

+0

हम्म पिनिंग आउट भी मुझे नकारात्मक पैमाने देता है? fyi स्टोरीबोर्ड से खींचा चुटकी का उपयोग कर रहा हूँ, स्केल के साथ सेट 1 के साथ और अंत में चेक की देरी और देरी अनचेक – user1337645

+1

असंभव शुरू होता है। मुझे संदेह है कि पिंचिंग आपको नकारात्मक स्तर देता है। कृपया जांचें और वर्णन करें कि आप इस परिणाम को कैसे प्राप्त करते हैं। – Mundi

+3

घुमावदार परिणामस्वरूप एक स्केल में परिणाम जो 1.0 से शुरू होता है और 0.0 तक घटता है, और शुरू होने वाले पैमाने में बाह्य परिणामों को पिंच करता है और 1.0 और वहां से बढ़ता है। –

2

आप स्केल प्रॉपर्टी को देखने के लिए सही थे, हालांकि यह शून्य के आसपास 1 के आसपास स्विच करता है।

 
    - (BOOL) pinchWasOutwards:(UIGestureRecognizer *)gestureRecognizer 
    { 
     return gestureRecognizer.scale > 1; 
    } 
+0

बस .velocity का उपयोग करें, जो कि अधिक KISS है। – Fattie

10

"स्केल" संपत्ति पिंच-इन इशारा के लिए 1 से कम और चुटकी के लिए 1 से अधिक है। यह 2 अंगुलियों वाले सभी चुटकी के लिए होता है।

मैंने जो भी देखा वह यह था कि अगर मैंने 5 अंगुलियों (जो कि घर को कम करने के लिए शॉर्टकट है) के साथ चुराया गया है, तो स्केल मान बिल्कुल 1.0 आता है। लेकिन यह किसी भी ऐप्पल दस्तावेज द्वारा समर्थित नहीं है जिसे मैं जानता हूं।

आप क्या मूल्यों बस अपने चुटकी हैंडलिंग चयनकर्ता

NSLog(@"Scale: %.2f | Velocity: %.2f",pinch.scale,pinch.velocity);