ios - Superview isn't getting touch events -
मेरे विचारों की निम्न परतों के साथ एक साधारण iPad ऐप है:
-
वर्ग दृश्य (100x100px क्षेत्र को शामिल करता है)।वर्गव्यू कोBaseView पर सबव्यूज़ के रूप में जोड़ा जाता है।मेरे पास भी
BaseViewController.m फ़ाइल है। इस फाइल में मैंने टच इवेंट्स को संभालने के लिएट्यूइंगबैगन औरटच एन्डेड फ़ंक्शन जोड़ा। समस्या यह है, जब मैंSquareView पर क्लिक करता है, तो टच फ़ंक्शन को बुलाया जाता है, लेकिन जब मैं कहीं और क्लिक करता हूं, उन्हें कॉल नहीं किया जाता।मेरे पास
userInteractionEnabled = YES के लिएSquareView है। छू पाने के लिए मुझे इस वैरिएबल की आवश्यकता है।वर्गव्यू के बाहर के क्षेत्र पर क्लिक करने से छूने वाले कार्यों को ट्रिगर नहीं होता है मुझे इस बात की हैरानी है कि क्योंuserInteractionEnabled चरBaseView में सेटिंग का कोई प्रभाव नहीं है। यहां क्या हो रहा है? क्या कोई नियम है जो मैं याद कर रहा हूं? मुझे पूरा यकीन है कि मैं इसे एक बिंदु पर काम कर रहा था।जब उपयोगकर्ता उपव्यू (
SquareView ) पर क्लिक करता है, तो मुझे एक मेनू लॉन्च करना होगा (चलोMenuView वर्ग कहें) यह विचार यह है, जब उपयोगकर्ता मेनू (याSquareView ) के बाहर के क्षेत्र पर क्लिक करता है, तो मुझेMenuView को कॉल करके[menuView removeFromSuperview ] । क्या आप इस कोड को अपने नियंत्रक में उपयोग करने का प्रयास कर सकते हैं?इसे आपके लिए काम करना चाहिए।
- (शून्य) दृश्यडिडलोड {[सुपर व्यूडिडलोड]; UIView * subview = [[UIView alloc] initWithFrame: CGRectMake (100, 100, 100, 100)]; Subview.backgroundColor = [UIColor lightGrayColor]; [सबव्यू AddGestureRecognizer: [[UITapGestureRecognizer alloc] initWithTarget: स्वयं कार्रवाई: @ सिलेक्टर (सबव्यू गुच्छे)]]; [Self.view addSubview: subview]; [Self.view addGestureRecognizer: [[UITapGestureRecognizer alloc] initWithTarget: स्वयं कार्रवाई: @ सिलेक्टर (देखेंटेक्ड)]]; } - (शून्य) दृश्य टॉच किया गया {एनएसएलॉग (@ "व्यू टेचर्ड"); } - (शून्य) उपविवरण टॉच किया गया {एनएसएलॉग (@ "सबव्यू गुच्छे"); }
Comments
Post a Comment