2011-04-02 15 views
5

में बटन जोड़ें IOS प्रोग्रामिंग में नया हूं। मैं एक कोर्स मैनेजमेंट सिस्टम के लिए एक एप्लीकेशन तैयार कर रहा हूं जिसमें विभिन्न पाठ्यक्रमों के बीच नेविगेट करने के लिए नेविगेशन के लिए एक टेबलव्यू है। मैं पंक्तियों के बजाय तालिका के प्रत्येक खंड में बटन जोड़ना चाहता हूं।UITableView अनुभाग

उदाहरण के लिए यदि पाठ्यक्रम सीएस 101 में 5 आइटम हैं, तो मुझे 5 आइकनों (UIButton) दिखाई देना चाहिए, जब मैं 3 पंक्तियों में व्यवस्थित CS101 के शीर्षलेख पर क्लिक करता हूं जिसमें 2,2 और 1 बटन पांच आइटम का प्रतिनिधित्व करते हैं।

मैं यह करने के बारे में कैसे जा सकता हूं? यदि यह संभव है?

बहुत बहुत धन्यवाद! सत्यम

उत्तर

21

हां यह संभव है। आपको UITableView के प्रतिनिधि विधियों का उपयोग करने और तालिका दृश्य के शीर्षलेख में सभी बटनों के साथ दृश्य जोड़ने की आवश्यकता है।

पहले प्रतिनिधि को & UITableView के डेटासोर्स सेट करें और फिर नीचे कोड के साथ आगे बढ़ें।

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section 
{ 
// create the parent view that will hold header Label 
UIView* customView = [[UIView alloc] initWithFrame:CGRectMake(10.0, 0.0, 300.0, 44.0)]; 

// create the button object 
UIButton * headerBtn = [[UIButton alloc] initWithFrame:CGRectZero]; 
headerBtn.backgroundColor = [UIColor clearColor]; 
headerBtn.opaque = NO; 
headerBtn.frame = CGRectMake(10.0, 0.0, 100.0, 30.0); 
[headerBtn setTitle:@"<Put here whatever you want to display>" forState:UIControlEventTouchUpInside]; 
[headerBtn addTarget:self action:@selector(ActionEventForButton:) forControlEvents:UIControlEventTouchUpInside]; 
[customView addSubview:headerBtn]; 

return customView; 
} 

एक बार एक दृश्य तो शीर्षक डिफ़ॉल्ट रूप से के बाद से शीर्ष लेख के लिए ऊंचाई निर्धारित करने के लिए यह कुछ 20. होगा जोड़ा जाता है, तो आप समायोजित करने की आवश्यकता:

इस के लिए, आप नीचे दिए गए कोड का पालन कर सकते यह आपकी दृश्य ऊंचाई के अनुसार हैडर में जोड़ा गया है।

- (CGFloat) tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section 
{ 
return 100.0; 
} 

आशा है कि है निश्चित रूप से आप एक बहुत मदद ... :)

+0

का उपयोग कर सकते हैं धन्यवाद इससे मदद मिली! मैंने UITableViewCell को उप-वर्गीकृत किया और इंटरफ़ेस बिल्डर का उपयोग करके दो बटनों के साथ अपनी स्वयं की तालिका कक्ष बनाई और फिर UITableViewDelegate और DatasourceDelegate के कई प्रतिनिधियों का उपयोग किया। – Satyam

+0

हां। ...धन्यवाद :) –

1
इस के लिए

आप इस प्रतिनिधि जो एक UIButton

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

शामिल की कार्रवाई पर में एक UIView वापस लौटाना होगा यह बटन आप पंक्तियों की संख्या डाल सकते हैं जिन्हें आप आइकन के रूप में प्रदर्शित करना चाहते हैं और नई डाली गई पंक्तियों में UIButton होगा। पंक्तियों को सम्मिलित करने के लिए आप

- (void)insertRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation