2010-01-19 11 views
10

मैं अपने ऐप में अपने UITableView में एक UITableViewCellStyleValue2 सेल का उपयोग कर रहा हूं और मैं बाएं कॉलम (नीला पाठ - self.textField) डिफ़ॉल्ट से अधिक संकुचित होना चाहता हूं। मैंने सेल बनाने के बाद self.textField.bounds को सेट करने का प्रयास किया है लेकिन यह काम नहीं कर रहा है - डीबगर में देखकर ऐसा लगता है कि सीमाएं सेट नहीं की गई हैं।UITableViewCellStyleValue2 सेल पर लेबल के आकार को कैसे बदला जाए? (UITableView आईफोन)

क्या मैं इस तरह से डिफ़ॉल्ट सेल प्रकार को संपादित कर सकता हूं, या क्या मुझे बस UITableViewCell का अपना उप-वर्ग बनाना चाहिए?

धन्यवाद।

उत्तर

18

आप UITableViewCell उपclass कर सकते हैं और अभी भी UITableViewCellStyleValue2 का उपयोग कर सकते हैं। फिर लेबल्स के आकार को बदलने के लिए लेआउटस्यूब्यूविज़ विधि को ओवरराइट कर सकते हैं:

- (void) layoutSubviews { 
    [super layoutSubviews]; // layouts the cell as UITableViewCellStyleValue2 would normally look like 

    // change frame of one or more labels 
    self.textLabel.frame = CGRectMake(...); 
    self.detailTextLabel.frame = CGRectMake(...);  
} 
+0

धन्यवाद फ़ेलिक्स। यह पूरी तरह से काम करता है .. :-) –

+2

पीएस .: आपको यहां फ्रेम बदलने से कुछ और नहीं करना चाहिए। यदि आप फोंट (izes) को बदलना चाहते हैं तो आपको सेल बनाने/लोड करते समय ऐसा करना चाहिए। – FelixLam

+0

हाँ - यह समझ में आता है। चीयर्स! –

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