2013-02-11 61 views
6
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 

मैं वर्तमान मेंमैं स्पर्श कैसे अक्षम करूंगेगन: बहु स्पर्श के लिए?

touches 

में 1 वस्तु हो रही है जब मैं एक साथ दो उंगलियों (विकल्प कुंजी को पकड़े और सिम्युलेटर पर क्लिक) के साथ एक नल है। मेरा मानना ​​है कि ऐसा इसलिए है क्योंकि मैंने

multipleTouchEnabled 

संलग्न दृश्य की संपत्ति सक्षम नहीं की है। मैं इसे बनाना चाहता हूं ताकि मैं इस घटना को बहु स्पर्श के लिए पंजीकृत न करूं।

मुद्दे में देख रहे हैं, ऐसा लगता है कि अगर मैं multipleTouchEnabled सक्षम है जैसे कि यह काम करेगा, और उसके बाद में

if ([touches count] > 1) { 
    return; 
} 

करना मेरी

touchesBegan: 

बहरहाल, यह अजीब मुझे लगता है कि मैं कर रहा हूँ में लगता है कई स्पर्शों को अक्षम करने के लिए एकाधिक स्पर्श सक्षम करें, और यदि दुष्प्रभाव होंगे तो चिंतित हैं। क्या मेरी समस्या को हल करने का कोई बेहतर तरीका है?

+3

ध्यान रखें: वास्तविक डिवाइस पर, यह संभावना नहीं है कि उपयोगकर्ता की उंगलियां एक ही समय में स्क्रीन को छूएंगी। आपको अलग-अलग स्पर्शों के साथ दो-बार (या अधिक) कहा जाने के लिए '-टॉच बेगन' के लिए तैयार रहना चाहिए। –

उत्तर

0

आप एक इशारा पहचानकर्ता इस्तेमाल कर सकते हैं, इस छूता प्रतिनिधि भले ही आपके कोड काम करता है की तुलना में शायद अधिक readbale है:

UITapGestureRecognizer *gestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(myAction:)]; 
gestureRecognizer.numberOfTouchesRequired = 2; 
0

यदि यह NSTouches उपयोग करने के लिए तो आप प्राप्त करने के लिए निम्न विधियों का उपयोग कर सकते हैं अनिवार्य है वांछित कार्य हासिल करें।

[view setMultipleTouchEnabled:NO]; 
[view setExclusiveTouch:YES]; 

अधिक से अधिक आप

साथ खेल सकते हैं setMultipleTouchEnabled:

को

देखने के setExclusiveTouch रखकर हाँ

1

सबसे पहले आपके विचार करने के लिए एक इशारा पहचानकर्ता जोड़ें:

UITapGestureRecognizer *multipleTouches = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleMultiTap:)]; 
multipleTouches.numberOfTouchesRequired = 2; 
[yourViewName addGestureRecognizer:multipleTouches]; 
[multipleTouches release]; 

आशा है कि यह आप में मदद मिलेगी।

2

आपको बस दृश्य पर मल्टीटाउच संपत्ति को अक्षम करने में सक्षम होना चाहिए, आईबी में आपको वास्तव में साइड पैनल पर जाना होगा और उस चीज़ पर क्लिक करना होगा जो फाइल मालिक के पास इसे देखने के लिए आगे बढ़ता है और फिर इसे अनचेक करता है, या आप इसे कोड में व्यूडिडलोड में कर सकते हैं:

self.view.multiTouchEnabled = NO;

0

आप इस बिंदु का उपयोग किसी बिंदु पर एकाधिक स्पर्शों से बचने के लिए कर सकते हैं, अपने दृश्य में विशेष स्पर्श "हां" सेट कर सकते हैं।

[self.view setExclusiveTouch:YES];