2012-10-24 10 views
8

enter image description hereUITableViewCells ओवरलैप कैसे करें?

आप स्क्रीनशॉट को देखें, तो आप देखेंगे कि प्रत्येक UITableViewCell 20% ऊपरी tableview सेल करने के लिए शीर्ष भाग से ओवरलैप हो रहे हैं देखेंगे।

क्या कोई तरीका है कि हम कोशिकाओं को ओवरलैप कर सकते हैं?

+0

हाँ आपने क्या प्रयास किया है ??? – TheTiger

+0

यदि आप केवल इंगित करने के बजाय कार्यान्वयन के लिए विचार सुझाते हुए भाग लेते हैं तो मैं वास्तव में सराहना करता हूं। आपकी जानकारी के लिए मैंने http://i.stack.imgur.com/uSHXS.png इस तरह की चीजों के साथ प्रयास किया है लेकिन यह काम नहीं करेगा क्योंकि मेरे पास कुछ अन्य एनिमेशन हैं जो कोशिकाओं के बीच अंतराल का विस्तार करेंगे। धन्यवाद – Tariq

+0

@ तारिक-आईफ़ोनप्रोग्रामर - आपको अपने प्रश्न में अपनी सभी आवश्यकताओं का जिक्र करना चाहिए क्योंकि अगर कोई जवाब देता है तो वह आपके प्रश्न में जो कुछ पूछता है उसे उत्तर देगा .... वह नहीं जानता कि आपके पास क्या अतिरिक्त है। – TheTiger

उत्तर

13

मैंने कभी कोशिश नहीं की, लेकिन इस तरह का तर्क काम करेगा। याद रखें, आपको ओवरलैप्ड क्षेत्र में कोई स्पर्श नहीं मिलेगा।

1) cell.contentView पर अपना सबव्यूव जोड़ें, सुनिश्चित करें कि सबव्यू ऊंचाई ऊंचाई आपकी तालिका के rowHeight से अधिक है।

float overlapHeight = 10.0; 

subView.frame = CGRectMake(0.0, -10.0, 
        your_subview_width, rowHeight + overlapHeight); 

2) इतना है कि अपने सेल इसके फ्रेम

cell.clipsToBounds = NO; 
cell.contentView.clipsToBounds = NO; 

3) अब आप अपने सेल की ओवरलैप होगा बाहर सामग्री क्लिप नहीं होगा यह कोड जोड़ें,, लेकिन सीमाओं के चारों ओर एक क्लिप निशान नहीं होगा सेल का शीर्ष पर एक संकीर्ण एक और तल पर एक विस्तृत एक: कि

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath { 
    cell.backgroundColor = [UIColor clearColor]; 
} 
+1

@downvoter टिप्पणी करने के लिए – Krishnabhadra

+0

हाँ जो वोट कम करता है उसे समझाया जाना चाहिए कि उसने ऐसा क्यों किया, वह सिर्फ इसके साथ खेल रहा है। – TheTiger

+0

ऐसा लगता है कि यह विधि ios7 में काम नहीं करती है? सबकुछ अभी भी फिसल रहा है। – Ohmnastrum

1

ओवरलैप प्रभाव दो भागों से अपने सेल रचना द्वारा नेत्रहीन प्राप्त किया जा सकता लागू willDisplayCell प्रतिनिधि समारोह से बचने के लिए। निचला भाग सरल है: यह एक ग्रे आयताकार है जिसमें पाठ/छवि घटक के अंदर है। चाल शीर्ष पर भाग में है।

शीर्ष भाग की ऊंचाई पूरे रंगीन टैब की ऊंचाई के बराबर होती है। आपका प्रोग्राम वहां दो छवियों में से एक डाल सकता है - या तो पहले सेल के नीचे प्रतिनिधित्व करने वाली एक संकीर्ण ग्रे स्ट्रिप के ऊपर एक टैब, या ब्राउन पृष्ठभूमि के शीर्ष पर एक टैब। tableView:cellForRowAtIndexPath: के अंदर row देखें। यदि यह शून्य है, तो ब्राउन पृष्ठभूमि के साथ छवि चुनें; अन्यथा, शीर्ष पर पृष्ठभूमि में ग्रे स्ट्रिप के साथ छवि चुनें।

0

कोशिकाओं को ओवरलैप करने की कोई आवश्यकता नहीं है। आपका शीर्ष सेल इस तरह दिखना चाहिए:

enter image description here

और सभी शेष कोशिकाओं इस तरह दिखना चाहिए:

enter image description here

आपका tableFooterView (एक के "नीचे" सिर्फ एक ग्रे पट्टी होना चाहिए सेल)

+0

के पीछे वर्तमान सेल बनाने के लिए मैंने इस दृष्टिकोण की कोशिश की है लेकिन समस्या यह है कि आप नीचे से छवि काट रहे हैं। लेकिन मेरे पास उस उद्देश्य के लिए कुछ अन्य एनीमेशन है, मुझे पूर्ण सेल छवि की आवश्यकता है। आइए पूर्व के लिए कहें अगर मैं किसी भी सेल को छूंगा तो मुझे दो सेल के बीच का अंतर विस्तार करना होगा कि मैं छवियों को फसल क्यों नहीं कर सकता :) – Tariq

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