2011-01-28 9 views
8

मैंने लगभग हर चीज की कोशिश की है, लेकिन मैं बस सेल.टेक्स्ट लेबल संपत्ति को थोड़ा सा स्थानांतरित नहीं कर सकता। मैंने नीचे एक स्क्रीनशॉट संलग्न किया है और मैंने लगभग हर चीज की कोशिश की है जो मुझे मिल सकती है।मैं सेल के टेक्स्ट लेबल फ्रेम को कैसे बदल सकता हूं?

मैं .frame संपत्ति को बदलने की कोशिश की है सीधे, अगर का उपयोग कर के माध्यम से संशोधित करने का प्रयास किया "- (शून्य) tableView: (UITableView *) tableView willDisplayCell"।। विधि "मैं भी एक कस्टम लेबल आवंटन की कोशिश की है मैं कस्टम लेबल के लिए कदम सकता है, लेकिन यह मूल पाठलेबल की तरह अलग-अलग पंक्तियों में जाने नहीं होगा। मैं तो बस कल्पना बहु लाइन लेबल थोड़ा नीचे ले जाने की जरूरत है।

किसी भी मदद की सराहना की है!

enter image description here

उत्तर

16

ऐसा करने का एकमात्र तरीका UITableViewCell सबक्लास का उपयोग करना है औरओवरराइड करना है। इस विधि में, आप [super layoutSubviews] पर कॉल करना चाहते हैं, और फिर लेबल के लिए इच्छित फ्रेम फ्रेम करें।

1

मैंने स्ट्रिंग की शुरुआत में \ n जोड़ना समाप्त कर दिया। दुर्भाग्य से मुझे काम करने के लिए और कुछ नहीं मिला।

21

ओवरराइड layoutSubviews अपने UITableViewCell के लिए ...

- (void)layoutSubviews { 
    [super layoutSubviews]; 

    CGSize size = self.bounds.size; 
    CGRect frame = CGRectMake(4.0f, 4.0f, size.width, size.height); 
    self.textLabel.frame = frame; 
    self.textLabel.contentMode = UIViewContentModeScaleAspectFit; 
} 

या आप बस अपनी खुद की UILabel वस्तु बनाने के लिए, और एक subview के रूप cell.contentView में जोड़ सकते हैं।

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(4, 4, 30, 30)]; 
[cell.contentView addSubview:label]; 
[label release]; 
0
- (void)layoutSubviews { 
    [super layoutSubviews]; 

    CGSize size = self.bounds.size; 
    CGRect frame = CGRectMake(4.0f, 4.0f, size.width, size.height); 
    self.textLabel.frame = frame; 

    self.textLabel.textAlignment = NSTextAlignmentCenter; 
} 
+1

आप अपने कोड करता समझा सकते हैं, और क्यों यह सवाल का जवाब? – Mel

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

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