2012-03-12 13 views
16
UIPanGestureRecognizer *panRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(pan:)]; 
[self addGestureRecognizer:panRecognizer]; 

- (void)pan:(UIPanGestureRecognizer *)gesture { 
    NSLog(@"%f", [gesture translationInView:self].x); 
} 

उपरोक्त कोड मेरे वर्तमान पैन की सापेक्ष स्थिति लॉग करेगा, लेकिन मैं उस दृश्य के लिए पूर्ण स्थिति कैसे प्राप्त कर सकता हूं?आईओएस UIPanGestureRecognizer सूचक स्थिति

मैं बस सिर्फ जहाँ भी उपयोगकर्ता की उंगली है करने के लिए एक UIImageView स्लाइड करने के लिए इच्छुक हूँ।

+0

क्या आप द्वारा * * "दृश्य मैंने कर लिया के लिए निरपेक्ष स्थिति" मतलब है? – sch

उत्तर

27

translationInView आप पैन अनुवाद (कितना एक्स बदल गया है) और नहीं दृश्य (एक्स का मान) में पैन की स्थिति देता है। यदि आपको पैन की स्थिति की आवश्यकता है, तो आपको विधि locationInView विधि का उपयोग करना होगा।

आप इस प्रकार निर्देशांक अपेक्षाकृत देखने के लिए मिल सकता है:

- (void)pan:(UIPanGestureRecognizer *)gesture { 
    NSLog(@"%f", [gesture locationInView:self].x); 
} 

या superview अपेक्षाकृत:

- (void)pan:(UIPanGestureRecognizer *)gesture { 
    NSLog(@"%f", [gesture locationInView:self.superview].x); 
} 

या अपेक्षाकृत खिड़की करने के लिए:

- (void)pan:(UIPanGestureRecognizer *)gesture { 
    NSLog(@"%f", [gesture locationInView:self.window].x); 
} 
+7

'स्वयं' के बजाय 'UIGestureRecognizer' की' view' प्रॉपर्टी का उपयोग करना बेहतर नहीं है? यह आपको चीजों को तोड़ने के बिना इशारा पहचानकर्ता को स्थानांतरित करने की अनुमति देता है। खिड़की के स्थान के लिए, यह 'शून्य' पास करने के लिए पर्याप्त है। –

0

मैं ऐसा लगता है कि इस तरह का कुछ आसान तरीका है स्पर्श के एक्स और वाई को प्राप्त करना और इसे ट्रैक करना, एक बार इसमें 2 अंक होते हैं एई एक्स: 230 वाई: 122) आपने यूआईएसक्रोल व्यू की स्क्रॉल को एक्स और वाई में सेट किया है।

मुझे यकीन है कि वास्तव में कैसे मैं इस सवाल का जवाब मिल गया नहीं कर रहा हूँ ... अगर यह नीचे मुझे वोट नहीं दें उपयोगी नहीं है मैं अभी भी एक noob डी हूँ:

0

स्विफ्ट

सापेक्ष स्थान (अपने हाव-भाव की CGPoint) self.view रहे हैं:

print(gesture.locationInView(self.view)) 
संबंधित मुद्दे