2011-08-19 37 views
5

मैं ऐप्पल दस्तावेज़ खोज रहा हूं और एक डबल फ़ंक्शन से संबंधित एकमात्र फ़ंक्शन जिसे मैंने डबल क्लिक के रूप में क्लिक के बीच स्वीकार्य समय वापस कर दिया है।डबल-क्लिक ईवेंट प्राप्त करना

क्या कोई मुझे डबल क्लिक ईवेंट का उदाहरण दिखा सकता है?

+0

आईओएस या मैक ओएस एक्स? – duskwuff

+1

@ डस्कवफ ओएसएक्स (टैग देखें) – Sciguy77

+1

@duskwuff: इसके अलावा, आईओएस के पास क्लिक नहीं हैं। –

उत्तर

14

NSResponder विधि -mouseUp: ओवरराइड करें और आपूर्ति की गई घटना clickCount देखें। यदि clickCount == 2, तो आप एक डबल-क्लिक देख रहे हैं। यदि यह 1 है, तो एक क्लिक करें। 0, फिर वे माउस नीचे और माउस के बीच काफी देर तक इंतजार कर रहे थे कि सिस्टम ने फैसला किया कि यह एक क्लिक नहीं है, बस घटनाओं को अलग करें।

- (void)mouseUp:(NSEvent *)event 
{ 
    NSInteger clickCount = [event clickCount]; 
    if (2 == clickCount) [self handleDoubleClickEvent:event]; 
} 

यह मानता है कि क्लिक को संभालने वाली वस्तु प्रतिक्रियाकर्ता श्रृंखला का हिस्सा है। यदि नहीं, तो आपको अपनी घटनाओं को एक और तरीके से प्राप्त करना होगा, जैसे कि NSApplication या NSWindow उप-वर्गीकरण करना और -sendEvent: ओवरराइड करना उचित घटना को आगे बढ़ाने से पहले इसे आगे बढ़ाने से पहले।

+5

इस पर जोर दिया जाना चाहिए कि इस उत्तर में "एनएसआरस्पॉन्डर" कोको में कक्षा (जो एनएसवीव, एनएसविंडो, और एनएसएप्लिकेशंस से उत्तराधिकारी है) को संदर्भित करता है, न कि अन्य उत्तरदाता जिन्होंने इसके बाद खुद को नामित किया। –

2

ध्यान दें कि कुछ NSControl में setDoubleAction: है ताकि setDoubleAction: के माध्यम से पंजीकृत चयनकर्ता को लक्ष्य पर भेजा जा सके।

+0

घटना (एनएसईवेंट ऑब्जेक्ट) लक्ष्य को पास नहीं किया गया है; एक एक्शन संदेश लक्ष्य पर भेजा जाता है, लेकिन, सामान्य रूप से एक एक्शन संदेश के लिए, एकल तर्क नियंत्रण (तालिका दृश्य या जो भी) संदेश भेजता है। मुझे यकीन है कि आप NSEvent ऑब्जेक्ट का मतलब नहीं था, लेकिन मैं यह सुनिश्चित करना चाहता था कि यह स्पष्ट है। –

+0

हां यही मेरा मतलब था; मैं इसे फिर से भर दूंगा। धन्यवाद। – Yuji

+0

मेरे मामले में मुझे 10.10 से पहले ओएस पर चलते समय एनएसटीबल व्यू के लिए एक लक्ष्य निर्धारित करना पड़ा, लेकिन 10.10 लक्ष्य निर्धारित किए बिना ठीक काम किया (मेरे मामले में स्वयं) – ghr

संबंधित मुद्दे