मैं एक UIViewController पर एक viewDidLoad में निम्नलिखित कोड है:UIScreenEdgePanGestureRecognizer ट्रिगर कई बार
UIScreenEdgePanGestureRecognizer *edgeRecognizer = [[UIScreenEdgePanGestureRecognizer alloc] initWithTarget:self action:@selector(handleRightEdgeSwipe:)];
edgeRecognizer.edges = UIRectEdgeRight;
[self.view addGestureRecognizer:edgeRecognizer];
और प्रयोजनों जब एक दाहिने किनारे इशारा का पता चला है में स्लाइड करने के लिए एक दृश्य को गति प्रदान करने के लिए है।
-(void)handleRightEdgeSwipe:(UIGestureRecognizer*)sender
{
NSLog(@"Showing Side Bar");
[self presentPanelViewController:_lightPanelViewController withDirection:MCPanelAnimationDirectionRight];
}
लेकिन मैं देख रहा हूँ कि "handleRightEdgeSwipe" समारोह कई बार शुरू हो रहा है - कभी कभी 5 बार साइड बार का मानना है कि आसानी से में स्लाइड चेतन चाहिए कई बार फ़्लैश बनाता है।
(नोट: मैंने UIButton से देखने के लिए दृश्य को ट्रिगर करने का प्रयास किया और यह ठीक काम करता है)।
दायां किनारा इशारा क्यों कई बार ट्रिगर किया गया है और मैं इसे कैसे ठीक कर सकता हूं?
यदि आप इसे स्थानांतरित करना चाहते हैं, तो अपनी उंगली से खींचें, आपको इसके बजाय एक UISwipeGestureRecognizer का उपयोग करना चाहिए। यह निरंतर गति की बजाय एक घटना को पहचानता है। – rdelmar
@rdelmar मैं केवल एक किनारे स्वाइप पर ट्रिगर करना चाहता हूँ। मैं सही किनारे पर UISwipeGestureRecognizer का उपयोग कैसे कर सकता हूं? – motionpotion
क्रिया विधि में, आपको locationInView के मान को देखने की आवश्यकता है: और केवल उस क्रिया का ट्रिगर करें यदि उस स्थान का x मान उस क्षेत्र के भीतर है जो आप चाहते हैं। – rdelmar