2009-09-03 17 views
6

मैंने यूआईसींट्रोल का एक उप-वर्ग लिखा है जो मेरे लिए रूचि रखने वाले कई संकेतों को ट्रैक करता है। UIControlEvents गणना के लिए प्रलेखन में, यह कहता है कि UIControlEventAplicationReserved नामक ईवेंट संख्याओं की एक श्रृंखला है जो "एप्लिकेशन उपयोग के लिए उपलब्ध है।" क्या इसका मतलब यह है कि मैं अपनी खुद की कस्टम घटनाओं के लिए संख्याओं की इस श्रृंखला का उपयोग करने के लिए स्वतंत्र हूं?क्या आप UIControlEventAplicationReserved के साथ कस्टम ईवेंट कर सकते हैं?

यदि हां, तो क्या कोई मुझे बता सकता है कि घटनाओं को कैसे आग लगाना है? स्पष्ट तरीका यह है कि मैं ऐसा करने के बारे में सोच सकता हूं:

enum { 
    ... 
    MyCustomEvent = 65, 
    ... 
}; 

... 

UIEvent* customEvent; 

... 

for (id target in [self allTargets]) 
{ 
    for (NSString* action in [self actionsForTarget:target forControlEvent:MyCustomEvent]) 
    { 
      [self sendAction:NSSelectorFromString(action) to:target forEvent:customEvent]; 
    } 
} 

क्या यह भी काम करेगा?

+0

ठीक है, मुझे पता है कि यह एक पुराना सवाल है, लेकिन क्या आपने इस पर कोई रास्ता तय किया है? –

उत्तर

20

ठीक है, यह एक पुराना विषय है लेकिन मैं इसका जवाब जोड़ने जा रहा हूं। मैं वास्तव में यह सुनिश्चित करने के लिए नहीं कह सकता कि क्या आप इस मास्क का उपयोग अपने आवेदन के लिए कर सकते हैं भले ही मुझे संदेह हो।

लेकिन मैं आपको यह सुनिश्चित करने के लिए बता सकता हूं कि इसका उपयोग कैसे किया जाए।

enum { 
    MyPrimaryActionEvent = 1 << 24, 
    MySecondaryActionEvent = 1 << 25, 
}; 

एक बार यह हो रहा है कि आप इन के लिए रजिस्टर कर सकते हैं: स्टार्टर यह मान मास्क स्थिति 24, 25, 26 और 27 आप अपनी खुद की का एक enum उदाहरण के लिए केवल इस बिट्स का उपयोग करता है, लिखना चाहिए पर बिट्स के लिए कार्रवाई:

[myButton addTarget:self action:@selector(someAction:) forControlEvents: MyPrimaryActionEvent]; 

हर बार कार्रवाई MyPrimaryActionEvent शुरू हो रहा है, स्वयं संदेश someAction प्राप्त होगा :. अब उस क्रिया को ट्रिगर कैसे करें बटन पर ही है।

[self sendActionsForControlEvents:MyPrimaryActionEvent]; 

यह सब MyPrimaryActionEvent घटना के लिए पंजीकृत लक्ष्य को सभी कार्यों भेज देंगे: अपनी खुद की UIControl उपवर्ग में आप इस प्रकार परिवर्तन को गति प्रदान कर सकते हैं। और आपने कल लिया।

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

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