मैं स्विफ्ट में आईओएस 8 के लिए एक कस्टम कीबोर्ड एक्सटेंशन लिख रहा हूं, और मुझे एक स्वाइप-स्टाइल स्क्रिबल ओवरले लागू करने में समस्या हो रही है। अभी, मेरे कीबोर्ड में UIView
(view
मेरी UIInputViewController
की संपत्ति) है जिसमें कुंजीपटल पर कुंजी के अनुरूप UIButtons
है। इनमें से प्रत्येक कुंजी touchUpInside
घटनाओं का जवाब देती है, और UISwipeGestureRecognizers
है जो इनपुट माध्यमिक वर्ण ऊपर या नीचे स्वाइप करते हैं। मेरे UIInputViewController
में मेरे स्क्रिबल ओवरले व्यू को हटाने के लिए मैंने अपने स्क्रबबल ओवरले व्यू को सबव्यूव और touchesEnded:withEvent:
के रूप में जोड़ने के लिए touchesBegan:withEvent:
ओवरराइड किया है।मैं सशर्त रूप से स्पर्श घटनाओं को कैसे रोकूं?
वर्तमान में, यदि मैं बटन के बीच कुछ अंतर से शुरू करने का प्रयास करता हूं, तो स्क्रिलबल ओवरले दृश्य ठीक से दिखाई देता है। हालांकि, अगर मैं UIButton
के शीर्ष से स्क्रिबलिंग शुरू करता हूं, तो UIButton
स्पर्श ईवेंट को कैप्चर करता है और इसे मेरे UIInputViewController
पर अग्रेषित नहीं करता है।
मैं अपने कीबोर्ड को इस तरह से कैसे कार्यान्वित कर सकता हूं कि उपयोगकर्ता स्क्रीबल ओवरले दृश्य दिखाई देता है यदि उपयोगकर्ता बटन के बीच स्क्रीबल्स करता है, लेकिन बटन प्रेस/स्वाइप करता है अन्यथा?
--EDIT--
मैं अगले प्रत्युत्तर के लिए घटना को अग्रेषित करने के touchesBegan/Moved/Ended/Cancelled
तरीकों अधिभावी द्वारा इस को हल करने का प्रयास किया है। यदि मैं एक बटन पर क्लिक करता हूं और फिर दूसरे पर क्लिक करता हूं, तो मैं दोनों के बीच दिखाई देने के लिए एक स्क्रिबल प्राप्त कर सकता हूं। हालांकि, मुझे बटन के बीच एक स्क्रिबल के रूप में बटन पर आकर्षित करने के लिए कुछ भी नहीं मिल सकता है। किसी के पास एक बेहतर विचार है?
--EDIT # 2--
वर्तमान में, मेरे विचार पदानुक्रम इस तरह की स्थापना की है: UIView
subviews (UIInputViewController
से): मेरे सभी बटन, फिर मेरे ScribbleView
subviews डालने।
यदि मैं userInteractionEnabled
को अपने ScribbleView
पर सत्य पर सेट करता हूं, तो मैं शुरुआती स्थान पर ध्यान दिए बिना, कहीं भी दिखाई देने के लिए scribbling प्राप्त कर सकता हूं, लेकिन फिर मैं अपनी बटन कार्यक्षमता खो देता हूं।
स्रोत कोड के लिए, मैं छूने वाली घटनाओं और क्या नहीं, पास करने के विभिन्न विन्यासों के साथ प्रयोग कर रहा हूं, लेकिन कोड का मुख्य भाग यहां पाया जा सकता है: https://github.com/Kamaros/ELDeveloperKeyboard।
निश्चित रूप से एक विकल्प, हालांकि मुझे यकीन नहीं है कि यह प्रत्येक बटन से जुड़ी इशारा पहचानकर्ताओं के संयोजन के साथ कैसे काम करेगा। हालांकि कोशिश करने के लायक है, अगर कोई भी और अधिक चालाक सोचता है। – Kamaros
चूंकि आप बटन (और बटन पर नहीं) के बीच स्क्रिबल प्राप्त कर रहे हैं, क्या यह केवल पदानुक्रम देखने का मामला नहीं है? मेरा मतलब है, क्या आप बटन के नीचे ही नहीं आ रहे हैं? दोबारा, यह सिर्फ एक अनुमान है क्योंकि मेरे पास आपके कोड तक पहुंच नहीं है। वैकल्पिक रूप से, यदि आप क्लुज में हैं, तो आप हमेशा जहां भी चित्रित कर रहे हैं, वहां ड्राइंग करने के बजाय, आप सभी बटनों के ऊपर एक खाली UIView डाल सकते हैं और उस पर आकर्षित कर सकते हैं। –