2014-09-20 8 views
19

हमारे पास एक UITableView है और यह आईओएस 7 के लिए ठीक काम कर रहा था, लेकिन जब मैंने आईओएस 8 सिम्युलेटर में कोशिश की, तो मैंने देखा कि सेल सेपरेटर को अधिकांश कोशिकाओं के लिए गलत तरीके से रखा गया था। आश्चर्यजनक रूप से, कुछ कोशिकाएं विभाजक को सही तरीके से प्रदर्शित करती हैं।UITableView कुछ कक्षों के लिए आईओएस 8 में गलत स्थिति पर विभाजक प्रदर्शित करता है

UITableView with wrong separator... sometimes!

मैं सेल ऊंचाई इस प्रकार स्थापित:

संलग्न छवि देखें

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    return 70.0f; 
} 

क्या आप जानते हैं क्या हो रहा है? धन्यवाद!

संपादित करें:

का संभावित हल मैं इस बीच में उपयोग कर रहा हूँ विभाजक निष्क्रिय करने के लिए है ...

[tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone]; 

... और यह अपने आप सेल दृश्य में रंग ...

UIView* separator = [[UIView alloc] initWithFrame:CGRectMake(20, cellHeight-1, frame.size.width - 40, 1)]; 
    separator.layer.borderWidth = 1; 
    separator.layer.borderColor = [[UIColor grayColor] CGColor]; 
    [self addSubview:separator]; 

... लेकिन मैं इसे नहीं करना चाहता हूं।

+0

हालांकि यह काम करना चाहिए, क्या आप टेबलव्यू पर पंक्ति हाइट प्रॉपर्टी को सेट करने का प्रयास कर सकते हैं? – Sjors

+0

धन्यवाद, लेकिन 'rowHeight' को सेट करने से कुछ भी नहीं बदलेगा ... :( –

+0

क्या आप ऑटोलायआउट का उपयोग कर रहे हैं? – Sjors

उत्तर

55

मैं एक ही समस्या थी और यहाँ है कि कैसे मैं इसे हल:

आप अपनी तालिका दृश्य के लिए एक कस्टम सेल का उपयोग कर रहे हैं और आप layoutSubviews अधिरोहित है, तो आप यह superview की विधि है कॉल करने के लिए की शुरुआत में की जरूरत है विधि:

- (void)layoutSubviews 
{ 
    [super layoutSubviews]; 
    // Your implementation 
} 
+0

बढ़िया, यह मेरा मामला भी था, धन्यवाद! –

+0

मेरी मदद की भी धन्यवाद :) – user1105951

+0

एक बेवकूफ बग के लिए सही समाधान! –

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