जेड ऑर्डर और टच हैंडलिंग सिस्टम अलग हैं। जेड ऑर्डर केवल विज़ुअल आपकी परतों के लेआउट के लिए है। टच हैंडलिंग सिस्टम, हालांकि, जब आप टच प्रेषक के साथ पंजीकरण करते हैं तो प्राथमिकता पर निर्भर करता है। यदि आप टच प्रेषक के साथ दो परतों को पंजीकृत करते हैं, जिनकी समान प्राथमिकता है, तो परतों के जेड ऑर्डरिंग के बावजूद दूसरी परत पहले छूएगी।
यहां वह हिस्सा है जो वास्तव में मुझे परेशान करता था जब मुझे एक ही समस्या थी। जबकि ज़ेड ऑर्डर एक-दूसरे के शीर्ष पर उच्च संख्या रखता है, यह बिल्कुल स्पर्श के विपरीत है। कम प्राथमिकता संख्या वास्तव में पहले स्पर्श मिलती है। अपनी खुद की सैनिटी रखने के लिए, मैंने अपना कोड दोबारा दोहराया ताकि जब भी संभव हो, मैंने जेड इंडेक्स के समान क्रम में परतों को जोड़ा, इसलिए शीर्ष परतों के स्पर्श सहजता से व्यवहार करेंगे।
जब यह संभव नहीं है, तो मैं स्पर्श प्राथमिकता प्रणाली का उपयोग करता हूं, और मैं स्थिरांक परिभाषित करता हूं ताकि मैं बाद में भ्रमित न हो।कागज की परतों के रूप
-(void) registerWithTouchDispatcher {
[[TouchDispatcher sharedDispatcher] addTargetedDelegate:self priority: DEFAULT_TOUCH_PRIORITY swallowsTouches:YES];
}
स्रोत
2009-11-02 22:48:30
वास्तव में: कम प्राथमिकता पहले स्पर्श प्राप्त करेगी। 0 सबसे कम नहीं है, आप 0 से नीचे जा सकते हैं। इसलिए प्राथमिकता के लिए अपने जेड-ऑर्डर का उपयोग करने के लिए, ज़ेड-ऑर्डर * -1 को प्राथमिकता के रूप में लें और "उच्चतम" जेड-ऑर्डर पहले स्पर्श प्राप्त करेगा। – nash