मैं वर्तमान में एक ऐप पर विकास कर रहा हूं, जो एक टेबलव्यू में कुछ ट्वीट दिखाता है। स्टोरीबोर्ड पर मैंने प्रोटोटाइप-सेल बनाया, जिसमें एक ट्वीट एंट्री की बुनियादी गुई अवधारणा शामिल है।आईओएस तालिका में टेक्स्ट ऊंचाई की गणना करें सेल देखें
यह इस तरह के लगभग दिखता है:
++++++++++++++
++Username++++
++++++++++++++
++Tweet+++++++
++++++++++++++
++Time-Ago++++
++++++++++++++
अब मैं निम्नलिखित कोड के साथ सेल की ऊंचाई की गणना कर रहा हूँ, लेकिन किसी भी तरह यह विफल रहता है।
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
NSDictionary * currentTweet = [tweetArray objectAtIndex: indexPath.row];
NSString * tweetTextString = [currentTweet objectForKey: @"text"];
CGSize textSize = [tweetTextString sizeWithFont:[UIFont systemFontOfSize:15.0f] constrainedToSize:CGSizeMake(630, 1000) lineBreakMode: NSLineBreakByWordWrapping];
float heightToAdd = 24 + textSize.height + 15 + 45;
if(heightToAdd < 90) {
heightToAdd = 90;
}
return heightToAdd;
}
वैसे, कुछ और है, जो अजीब है। यदि मैं टेबलव्यू स्क्रॉल करता हूं तो पूरा ऐप स्थिर हो जाता है। क्या यह सामान्य है या क्या मैं कुछ गलत कर रहा हूं?
यह सामान्य @ ठंड नहीं है। बाहर से, मुझे एक भावना है, यह दो कारणों में से एक के कारण हो सकता है: 1) आप बहुत अधिक गणना कर रहे हैं जिसके कारण यह अग्रणी है। 2) स्वरूपित तरीके से टेक्स्ट प्रदर्शित करने के लिए, जाहिर है कि आप प्रत्येक पंक्ति के पाठ पर किसी प्रकार का एन्कोडिंग का उपयोग कर रहे हैं। –
हैलो, आपकी टिप्पणी के लिए धन्यवाद। आप सही हे। मैंने सेकेंड पहले काउंटर को अपडेट करने के लिए हर सेकंड [tableView reloadData] को बुलाया। मैंने काउंटर हटा दिया और ठंड बंद कर दिया। मैं इसे सेलव्यू के अंदर करने की कोशिश कर रहा हूं। :) –
यह अच्छा है। :) –