/ / टूल बार छुपाने के लिए स्पर्श करें - आईफोन, आईओएस, uitoolbar, uitouch

टूल बार को छिपाने के लिए स्पर्श करें - आईफोन, आईओएस, uitoolbar, uitouch

क्षेत्र में स्पर्श करते समय मैं टूल बार को छिपाना और दिखाना चाहता हूं CGRectMake (130, 0, 60, 480)

बिना उपयोग किए UIGestureRecognizer क्योंकि यह मेरे अन्य विचारों को प्रभावित करता है

यदि क्षेत्र में एक बार स्पर्श करें, टूल बार को छिपाना चाहिए और यदि टूल बार छुपा हुआ है, तो टूल बार दिखाना चाहिए

मैंने कोशिश की है

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
if (mainToolbar.hidden == YES) {
mainToolbar.hidden=NO;
}
else if(mainToolbar.hidden == NO){
[mainToolbar setHidden:YES];
}
}

लेकिन टूलबार बार में स्पर्श करते समय इसकी छुपा टूल बार

धन्यवाद......

उत्तर:

उत्तर № 1 के लिए 1

अपना कोड उस दृश्य में लिखें जहां आपने टूल बार जोड़ा था। आपको इस कोड का उपयोग करके स्पर्श का स्थान मिलेगा:

UITouch *touch = [[event allTouches] anyObject];

CGPoint location = [touch locationInView: touch.view];

और फिर जांचें कि स्पर्श आपके उपयोग के अंदर है या नहीं CGRectContainsPoint: समारोह।

एक और दृष्टिकोण बस आवश्यक क्षेत्र पर एक बटन डाल दिया है। उम्मीद है की यह मदद करेगा


जवाब के लिए 0 № 2

विधि आपको स्क्रीन पर सभी स्पर्शों का एक एनएसएसटी देता है। आप स्पर्श के लिए अपने व्यवहार को अनुकूलित करने के लिए इसका उपयोग कर सकते हैं। उदाहरण के लिए:

//This will change the state of whether mainToolbar is hidden or not.  In the case of multiple touches, it will change the property if any touch is in the CGRect area.
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
CGRect testRect = CGRectMake(130, 0, 60, 480);
for (UITouch *touch in touches) {
if (CGRectContainsPoint(testRect, [touch locationInView:self.view])) {
mainToolbar.hidden = !mainToolbar.hidden;
}
}
}

या यदि आप केवल तभी कार्य करना चाहते हैं यदि एक स्पर्श किया जाता है और यदि उपयोगकर्ता एकाधिक अंगुलियों से छू रहा है तो उसे अनदेखा कर लें, तो आप इसकी जांच करेंगे:

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
CGRect testRect = CGRectMake(130, 0, 60, 480);
if ([touches count] == 1) {
//If there is only one touch, we check for that.  Otherwise, we ignore it.
UITouch *touch = [touches anyObject];
if (CGRectContainsPoint(testRect, [touch locationInView:self.view])) {
mainToolbar.hidden = !mainToolbar.hidden;
}
}
}

आप केवल चार कार्यों के साथ कुछ वाकई अच्छी चीजें कर सकते हैं touchesBegan: touchesMoved: touchesEnded: तथा touchesCanceled:.