2009-08-28 8 views
29

मुझे पता है कि तालिका ViewCell को कैसे अनुकूलित करें।तालिका दृश्य अनुभाग को कैसे अनुकूलित करें - आईफोन

मैंने टेबल व्यू सेल को अनुकूलित करने वाले कई एप्लिकेशन देखे हैं।

इसी तरह, मैं tableview अनुभाग हैडर अनुकूलित करने के लिए

चाहते "मान लीजिए - अलग पृष्ठभूमि छवियों एक वर्ग नाम भिन्न फ़ॉन्ट में होना चाहिए, यह है आदि"

क्या यह संभव है?

मुझे किस विधि में कोड लागू करना चाहिए?

+2

+1 में मदद करता है अच्छा प्रश्न के लिए:

यहाँ आप कैसे कर सकते हैं कि (उपरोक्त विधि में लागू करने की) का एक उदाहरण है। :) – mAc

उत्तर

60

इसके बजाय सामान्य विधि

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section 

का उपयोग कर के आप इस एक लागू करना चाहते हैं:

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section 

आप देख सकते हैं, एक दूसरे के बजाय एक UIView रिटर्न पाठ के लिए सिर्फ स्ट्रिंग की। इसलिए आप अपना खुद का दृश्य (लेबल आदि के साथ) अनुकूलित कर सकते हैं और इसे वापस कर सकते हैं।

// create the parent view that will hold header Label 
UIView* customView = [[[UIView alloc] initWithFrame:CGRectMake(10,0,300,60)] autorelease]; 

// create image object 
UIImage *myImage = [UIImage imageNamed:@"someimage.png"];; 

// create the label objects 
UILabel *headerLabel = [[[UILabel alloc] initWithFrame:CGRectZero] autorelease]; 
headerLabel.backgroundColor = [UIColor clearColor]; 
headerLabel.font = [UIFont boldSystemFontOfSize:18]; 
headerLabel.frame = CGRectMake(70,18,200,20); 
headerLabel.text = @"Some Text"; 
headerLabel.textColor = [UIColor redColor]; 

UILabel *detailLabel = [[[UILabel alloc] initWithFrame:CGRectZero] autorelease]; 
detailLabel.backgroundColor = [UIColor clearColor]; 
detailLabel.textColor = [UIColor darkGrayColor]; 
detailLabel.text = @"Some detail text"; 
detailLabel.font = [UIFont systemFontOfSize:12]; 
detailLabel.frame = CGRectMake(70,33,230,25); 

// create the imageView with the image in it 
UIImageView *imageView = [[[UIImageView alloc] initWithImage:myImage] autorelease]; 
imageView.frame = CGRectMake(10,10,50,50); 

[customView addSubview:imageView]; 
[customView addSubview:headerLabel]; 
[customView addSubview:detailLabel]; 

return customView; 

आशा है कि

+1

यदि आपकी तालिका में उदाहरण के लिए दो अनुभाग थे, तो आप उस दूसरे तालिका अनुभाग का संदर्भ कैसे लेंगे, इसलिए सेक्शन हेडर 1 में सेक्शन हेडर 2 की तुलना में एक अलग headerLabel.text होगा? – iamtoc

+1

विधि में पारित पूर्णांक द्वारा। –

+2

क्या होगा यदि मैं केवल सेक्शन = 1 के लिए हेडर रखना चाहता हूं और धारा = 0 के लिए नहीं? मुझे इस समस्या के साथ कोई समस्या है ... – jsetting32

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

  • कोई संबंधित समस्या नहीं^_^