मुझे UIPanGestureRecognizer के साथ एक छोटी सी समस्या है। पहचानकर्ता UIGestureRecognizerStateEnded राज्य रिपोर्ट नहीं करता है, तो उपयोगकर्ता शीर्ष बाईं ओर आलोचनाUIPanGestureRecognizer राज्य "अंत" या "रद्द करें" पर स्विच नहीं करता है यदि उपयोगकर्ता ने नकारात्मक दिशा में x और y को प्रतिबंधित किया है
UIGestureRecognizerStateEnded करने के लिए राज्य में परिवर्तन करता है, तो किसी भी दिशा सकारात्मक है जब उपयोगकर्ता अपनी उंगली लिफ्टों, लेकिन (नकारात्मक x और y दिशाओं का मतलब है) यदि दोनों दिशाएं ऋणात्मक या शून्य हैं तो यह केवल कार्रवाइयों की रिपोर्ट करना बंद कर देता है।
यह खराब है क्योंकि जब तक उपयोगकर्ता कुछ ड्रैग करता है और उन विचार विफलता मामले में वापस नहीं आते हैं, तो मैं कुछ ओवरले दृश्य छुपाता हूं।
बेशक मैं कुछ समय के बाद ओवरले को ओवरले प्रदर्शित करने के लिए एनएसटीमर सेट कर सकता हूं लेकिन मुझे अपने कोड और में कोई स्पष्ट त्रुटि दिखाई नहीं दे रही है।
क्या मुझे कुछ याद आया? क्या यह एक ऐप्पल बग है?
प्रारंभ इस तरह है:
pan = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(panRecognized:)];
[self addGestureRecognizer:pan];
[pan release];
हैंडलिंग समारोह इस तरह दिखता है:
- (void)panRecognized:(UIPanGestureRecognizer *)gestureRecognizer {
switch ([gestureRecognizer state]) {
case UIGestureRecognizerStateBegan:
// fade some overlaying views out
break;
case UIGestureRecognizerStateEnded:
case UIGestureRecognizerStateCancelled:
case UIGestureRecognizerStateFailed:
// fade in the overlays
break;
default:
break;
}
// handle panning
}
यह मेरे साथ पहले हुआ है जब मैंने गलती से इशारा पहचानकर्ता को एक अलग दृश्य में हटा दिया/स्थानांतरित कर दिया। जैसे ही आप करते हैं, यह चुप हो जाएगा। यह आपके मामले में मामला नहीं है? – Kalle
यह सुनिश्चित नहीं है कि वास्तव में क्या हो रहा है, लेकिन बातचीत के दौरान क्या हो रहा है यह देखने के लिए सभी संभावित UIGestureRecognizerStates के लिए लेखांकन द्वारा राज्य परिवर्तन लॉगिंग करने का प्रयास करें –
मेरे साथ भी हुआ। मेरे वीसी के 'viewDidLayoutSubviews' से' viewVillAppear' 'पर' uiview.addGestureRecognizer 'को स्थानांतरित करने से हल किया गया है, अभी भी एक औचित्य की तलाश है। – Jokester