2010-04-11 13 views
10

हाय: मैं तालिका दृश्य शीर्षलेख (अनुभाग शीर्षलेख नहीं) में एक खोज बार के साथ एक UITableView में एक सेक्शन इंडेक्स प्रदर्शित करना चाहता हूं। लेकिन इंडेक्स स्ट्रिप अब खोज बार को ओवरलैप कर रहा है। क्या इससे बचने के लिए एक शानदार समाधान है और सूचकांक तालिका शीर्षलेख से नीचे शुरू करने दें?UITableView सेक्शन इंडेक्स खोज बार ओवरलैप करता है

+1

http://stackoverflow.com/questions/556814/changing-the-size-of -थ-यूसर्चबार-टेक्स्टफील्ड। । माइक की टिप्पणी देखें – thndrkiss

+0

thndrkiss: आपका मतलब जवाब है। उत्तर टिप्पणियां नहीं हैं, और माइक ने केवल उस प्रश्न पर एक उत्तर पोस्ट किया है। –

+0

हाय, क्या आपने इस समस्या को हल किया है? – iXcoder

उत्तर

10

मुझे एहसास हुआ कि यह उत्तर बहुत देर हो गया है, लेकिन मुझे एक ही समस्या थी और यहां और कहीं और खोज की गई। मैं अच्छा जवाब मिला: Changing the size of the UISearchBar TextField?

कई सुझाव हैं, लेकिन एक मैं सबसे सरल पाया एक UISearchBar और UINavBar एक UIView में डाल दिया और setTableView को उस दृश्य पारित करने के लिए किया गया था। समस्या यह है कि तालिका आपके द्वारा जोड़े गए किसी भी सेटिंग को अनदेखा करते हुए हेडर व्यू के आकार को नियंत्रित करती है। तो दृश्य जोड़कर टेबल को खुश कर दिया जाता है और आप अंदर पहुंच सकते हैं और तालिका के साथ हस्तक्षेप किए बिना खोज बार आकार सेट कर सकते हैं। यूआईएनएवीबार के पास यूआईएसएक्सबार के समान पृष्ठभूमि शैलियों हैं, इसलिए एक दृश्यमान तरीके से अतिरिक्त जगह भरती है, हालांकि आप इसके फ्रेम tweak करने के लिए है - नीचे देखें:

UISearchBar searchBar = [[[UISearchBar alloc] initWithFrame:CGRectMake(0, 1, 290, 40)] autorelease]; 
UIView *searchView = [[[UIView alloc] initWithFrame:CGRectMake(0, 1, 320, 40)] autorelease]; 
UINavigationBar *navBar = [[[UINavigationBar alloc] initWithFrame:CGRectMake(1, -1, 320, 41)] autorelease]; // same gradient/style as search bar 
[navBar setTintColor:[UIColor lightGrayColor]]; 
[searchView addSubview:navBar]; 
[searchView addSubview:searchBar]; 
+0

जॉन आपके उत्तर के लिए बहुत बहुत धन्यवाद। यह मेरे लिए काम किया! :) – alin

4

मैं अनुक्रमित सरणी के लिए रिक्त स्ट्रिंग जोड़ें:

- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView 
{ 
    NSMutableArray *array = [NSMutableArray arrayWithArray:_sortedKeys]; 

    [array insertObject:@"" atIndex:0]; 
    [array insertObject:@"" atIndex:0]; 

    return array; 
} 
+0

क्या यह इंडेक्स कार्यक्षमता को गड़बड़ नहीं करता है? – newenglander

+0

यह बड़ी अनुक्रमणिका के साथ मदद नहीं करता है, क्योंकि इंडेक्स इंडेक्स प्रविष्टियों की एक श्रृंखला के बजाय राउंड "डॉट्स" के साथ प्रदर्शित किया जाएगा, और फिर भी आपके दृश्य को ओवरलैप कर देगा। – RickJansen

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