2010-07-03 10 views
11

क्या कोई जानता है कि UITableView पर कोई स्कोप बार कैसे जोड़ें? ऐप स्टोर ऐप कभी-कभी नीचे की तस्वीर में जैसा करता है।ऐप स्टोर की तरह UITableView के लिए स्कोप बार?

UITableView में तत्वों के लिए सॉर्टिंग विकल्प जोड़ने के लिए मैं इस स्कोप बार का उपयोग करना चाहता हूं। UISegmentControl के साथ टूलबार होने से यह अधिक सुविधाजनक होगा।

मुझे नहीं पता कि इसे कैसे कार्यान्वित किया जाए। मुझे तत्व का नाम भी पता नहीं है (मैं इसे स्कोप बार कह रहा हूं क्योंकि यह UISearchBar की स्कोप बार की तरह दिखता है, लेकिन यह नहीं है)।

image showing what I want

+0

संभावित डुप्लिकेट [एक नेविगेशन नियंत्रक के तहत एक UISegmentedControl कैसे रखा जाए?] (Http://stackoverflow.com/questions/2673714/how-to-put-a-uisegmentedcontrol-under-a-navigationcontroller) – JosephH

उत्तर

2

तत्व शैली के साथ UISegmentedControl है। आप वांछित रंग प्राप्त करने के लिए tintColor संपत्ति सेट कर सकते हैं। बस दृश्य दृश्य के ऊपर दृश्य डालें और आप उस स्क्रीनशॉट की तरह दिखने वाले कुछ प्राप्त कर सकते हैं।

+1

इसके लिए धन्यवाद । मुझे नहीं पता कि टिंटकॉलर क्या है, है ना? –

+0

आप तब तक प्रयोग कर सकते हैं जब तक आप ऐप स्टोर ऐप में से किसी एक जैसा नहीं पाते। – indragie

1

UISegmentedControl

आप इसे बनाने के लिए, अपने क्षेत्रों की स्थापना की, और उसके प्रतिनिधि निर्धारित किया है। जब प्रतिनिधि चयनित खंड बदलता है तो प्रतिनिधि तब कुछ प्रकार की कार्रवाई करता है।

13

वास्तव में, क्या अन्य लोगों ने कहा, इस UISegmentedControl के .segmentedControlStyle संपत्ति 7.

theSegCtrl.segmentedControlStyle = 7; 

के एक गैर-दस्तावेजी मान पर सेट है लेकिन @Macatomy के जवाब अधिक AppStore-सुरक्षित (हालांकि एप्पल इस पहचान नहीं कर सकता है के विपरीत वैसे भी)।

+0

यह दिलचस्प है। यह अनियंत्रित शैली दस्तावेज़ित 'UISegmentedControlStyleBar' शैली से अलग कैसे है? – indragie

+0

वास्तव में दिलचस्प है। और यह वास्तव में काम करता है। यह चित्रित रंगों के लिए बटन रंग सेट करता है, लेकिन मुझे किसी अन्य अंतर के बारे में पता नहीं है। और कोड के उस पंक्ति के बारे में आप कैसे जानते थे, केनीटीएम? धन्यवाद। –

+2

@Aloha: परीक्षण और त्रुटि :) – kennytm

4

शायद आप इस मुद्दे को हल कर चुके हैं लेकिन मुझे विश्वास है कि यह अन्य लोगों के लिए सहायक हो सकता है।

अपने ViewController अंदर

है कि आप उस TableViewController में उपयोग करते हैं, आप निम्न कोड डालें चाहिए:

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

NSArray *segmentTextContent = [NSArray arrayWithObjects: @"one",@"two",@"three", nil]; 
UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:segmentTextContent]; 
segmentedControl.frame = CGRectMake(2, 5, 316, 35); 

[self.segmentedControl addTarget:self action:@selector(segmentChanged:) forControlEvents:UIControlEventValueChanged]; 
self.segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar; //changes the default style 
self.segmentedControl.tintColor = [UIColor darkGrayColor]; //changes the default color 
self.segmentedControl.enabled = true; 
self.segmentedControl.selectedSegmentIndex = 0; 

return self.segmentedControl; 

}

कि तालिका शीर्ष लेख है, जो (यदि आप चाहें) के रूप में एक सेगमेंट में बंटे नियंत्रण सम्मिलित करता होगा जब आप सूची शीर्ष तक पहुंचते हैं तो भी उछालते हैं और साथ ही साथ आप अपनी सूची में स्क्रॉल करते समय हमेशा दिखाई देंगे।

उम्मीद है कि यह मदद करता है।

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