मुझे कुछ UITableViewCells मिल गए हैं जिन्हें अंदर की तारों की लंबाई के आधार पर अपनी ऊंचाई बदलने की आवश्यकता है। मैं tableView:cellForRowAtIndexPath:
के अंदर आवश्यक ऊंचाई की गणना कर रहा हूं, और उसके बाद इसे एक चर (self.specialRowHeight
) में संग्रहीत कर रहा हूं। तब मैं मिल गया है:तालिका प्राप्त करें दृश्य: heightForRowAtIndexPath: तालिका के बाद होने के लिए दृश्य: cellForRowAtIndexPath :?
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.section == SPECIAL_SECTION) {
return self.specialRowHeight;
}
else {
return 44;
}
}
कि सिवाय से पहले tableView:cellForRowAtIndexPath:
बिट कहा जाता हो रही किया जा रहा है, तो यह हमेशा शून्य है।
क्या इसके आसपास कोई रास्ता है, या शायद इसे करने का एक अलग तरीका है?
धन्यवाद!
निम्नलिखित के रूप में कॉल करने के लिए मैं वास्तव में यकीन है कि क्यों नहीं कर रहा हूँ था आप 18 से रेक्ट ऊंचाई को विभाजित करते हैं और फिर इसे फिर से गुणा करते हैं, लेकिन इसके अलावा मैं इसे वही तरीके से करता हूं। –
खैर, पहला विभाजन यह पता लगाने के लिए है कि कितनी पंक्तियों की आवश्यकता है, इसलिए मैं 'cell.textLabel.numberOfLines' सही ढंग से सेट कर सकता हूं; अगर मैं इसे सेट नहीं करता हूं, तो यह सब एक पंक्ति पर मुद्रित हो जाता है। लेकिन हाँ, मुझे लगता है कि मैं 'self.numberOfTextRows' के बजाय, आखिरी बिट में'Size.height' का उपयोग कर सकता हूं। – Triz
स्पष्टता और सरलीकरण के लिए उत्तर संपादित किया गया। वास्तव में वास्तव में अच्छा काम करता है। – Triz