तो, ऐसा लगता है कि heightForRowAtIndexPath
को cellForRowAtIndexPath
से पहले बुलाया जाता है। मैं वर्तमान में cellForRowAtIndexPath
उपयोग कर रहा हूँ प्रत्येक कक्ष की ऊंचाई (वे चर ऊंचाइयों कर रहे हैं, उस में पाठ की मात्रा के साथ एक UILabel
का उपयोग कर की गणना के लिए।कॉलिंग ऊंचाई ForRowAtIndexPath CellForRowAtIndexPath के भीतर से?
मैं बिल्कुल के रूप में हैरान है कि कैसे मैं सेल की ऊंचाई को ठीक से सेट कर सकते हैं अगर विधि है कि सेट ऊंचाई विधि से पहले कहा जाता है कि की गणना करता है यह।
मैं NSString
की एक श्रेणी बनाई है, और UILabel
है, जो एक साथ काम करने का एक और UILabel
सही आकार बनाते हैं। मुद्दा यह है कि UITableViewCell
उदाहरण जिनमें वे लेबल शामिल हैं, का आकार बदल नहीं रहा है, इसलिए प्रत्येक लेबल के अंत में लेबल लटकते हैं, नीचे वाले लोगों को ओवरलैप करते हैं।
मुझे पता है कि मुझे क्या करना है, लेबल की ऊंचाई के बराबर सेल की ऊंचाई, साथ ही कुछ अतिरिक्त मार्जिन स्पेस भी है, लेकिन मैं इस बात से परेशान हूं कि लेबल ऊंचाई से पहले मैं ऊंचाई कैसे निर्धारित कर सकता हूं गणना की गई। क्या मैं ऊंचाई को heightForRowAtIndexPath
का उपयोग किए बिना सेट कर सकता हूं? या यदि नहीं, तो क्या मैं कहीं और सेल की ऊंचाई की गणना कर सकता हूं? मैं वर्तमान में ऐसा करने के लिए indexPath.row
का उपयोग कर रहा हूं, इसलिए इसे पहले से करना मुश्किल होगा। यहाँ कोड मेरी cellForRowAtIndexPath है:
cellForRowAtIndexPath
- (UITableViewCell *) tableView: (UITableView *) tableView cellForRowAtIndexPath: (NSIndexPath *) indexPath
{
FQCustomCell *_customCell = [tableView dequeueReusableCellWithIdentifier: @"CustomCell"];
if (_customCell == nil) {
_customCell = [[FQCustomCell alloc] initWithStyle: UITableViewCellStyleValue1 reuseIdentifier: @"CustomCell"];
}
_customCell.myLabel.text = [[_loadedNames objectAtIndex: indexPath.row] name];
_customCell.myLabel.font = [UIFont fontWithName: @"FontA" size: 15.0f];
UIView *backView = [[UIView alloc] initWithFrame: CGRectZero];
backView.backgroundColor = [UIColor clearColor];
_customCell.backgroundView = backView;
_customCell.myLabel.frame = CGRectMake(5, 5, 265, 65);
[_customCell.myLabel sizeToFitMultipleLines];
return _customCell;
}
आईओएस 8 से शुरू करना आप स्वचालित रूप से गणना की गई गतिशील पंक्ति ऊंचाई का भी उपयोग कर सकते हैं। http: // stackoverflow।कॉम/प्रश्न/18746929/उपयोग-ऑटो-लेआउट-इन-यूटेबलव्यू-टू-डायनामिक-सेल-लेआउट-वेरिएबल-पंक्ति-ऊंचाई – Suragch