टैप करते समय हाइलाइट किया गया है, मैं UICollectionView
बना रहा हूं, जहां UICollectionViewCells
में से कुछ UITableView
हैं।UICollectionViewCell के अंदर UITableView, सभी UITableViewCells को सेल
यह बहुत अच्छा काम करता है, और जब तक मैं UITableView
से कहीं और टैप नहीं करता तब तक सब ठीक है। यह setHighlighted
विधि को तालिका में सभी UITableViewCells
पर कॉल करने का कारण बनता है।
नीचे UICollectionViewCell
का एक मोटा स्केच है। UITableView
केवल "सेल वन" से "सेल तीन" तक फैलता है। इस तालिका के बाहर कहीं भी टैप करना, लेकिन UICollectionViewCell
के अंदर कोशिकाओं को हाइलाइट किया जा सकता है।
-------------------------
| Title goes here |
| |
-------------------------
| |
| Cell one |
-------------------------
| |
| Cell two |
-------------------------
| |
| Cell three |
-------------------------
| Button outside table |
|-----------------------|
कॉल स्टैक ऐसा कुछ दिखता है।
[MyTableViewCell setHighlighted:]
[UICellHighlightingSupport highlightView:]
UIApplicationMain
main
यह सभी कोशिकाओं को UICollectionViewCell
आगे एक हाइलाइट कमांड जैसा लगता है।
मैंने setHighlighted
विधि को UITableViewCell
सबक्लास में ओवरलोड करके और सुपर कार्यान्वयन को कॉल नहीं करके इस मुद्दे के आसपास काम किया। हालांकि यह थोड़ा हैकी लगता है, और मुझे आश्चर्य है कि इस व्यवहार से किसी भी तरह से बचा जा सकता है।
संपादित करें: मुझे लगता है इस व्यवहार जब UICollectionCellView
कॉल अपने सभी बच्चों पर setHighlighted से आता है। जो मैं समझता हूं वह ज्यादातर अन्य मामलों में उपयोगी है।
अपने UITableView को उपclass करने का प्रयास करें और खाली सेट जोड़ें हाइलाइट किया गया: इसके लिए विधि। –
"मैंने अपने UITableViewCell सबक्लास में सेट हाइलाइट किए गए विधि को अधिभारित करके और सुपर कार्यान्वयन को कॉल नहीं करके इस मुद्दे के आसपास काम किया। हालांकि यह थोड़ा हैकी लगता है, और मुझे आश्चर्य है कि इस व्यवहार से किसी भी तरह से बचा जा सकता है।" – Nailer
क्या आपने मेरा जवाब देखा? तालिका दृश्य को हाइलाइट करने के लिए केवल संग्रह दृश्य को बताने में समस्या क्या है? – micantox