Hi: Chcę wyświetlić indeks sekcji w UITableView z paskiem wyszukiwania w nagłówku widoku tabeli (nie nagłówek sekcji). Ale pasek indeksu pokrywa się teraz z paskiem wyszukiwania. Czy istnieje eleganckie rozwiązanie, aby tego uniknąć i pozwolić indeksowi zacząć od nagłówka tabeli?Indeks sekcji UITableView nakłada się na pasek wyszukiwania
Odpowiedz
Zdaję sobie sprawę, że ta odpowiedź przychodzi bardzo późno, ale miałem ten sam problem i szukałem tutaj i gdzie indziej. Znalazłem dobre odpowiedzi tutaj: Changing the size of the UISearchBar TextField?
Istnieje kilka sugestii, ale jeden znalazłem najprostszy było umieścić UISearchBar i UINavBar w UIView i przekazać, że widok na setTableView. Problem polega na tym, że tabela kontroluje rozmiar widoku nagłówka, ignorując wszelkie dodane ustawienia. Dodanie widoku sprawia, że stół jest przyjemny i można dotrzeć do środka i ustawić rozmiar paska wyszukiwania bez przeszkadzania przez tabelę. UINavBar ma takie same style tła jak UISearchBar, więc wypełnia dodatkową przestrzeń w spójny wizualnie sposób, chociaż trzeba dostosować swoją klatkę - zobacz poniżej:
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];
Jon bardzo dziękuję za odpowiedź. To zadziałało dla mnie! :) – alin
dodam pustych strun do indeksy tablicy:
- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView
{
NSMutableArray *array = [NSMutableArray arrayWithArray:_sortedKeys];
[array insertObject:@"" atIndex:0];
[array insertObject:@"" atIndex:0];
return array;
}
Czy to nie psuje funkcjonalności indeksu? – newenglander
To nie pomaga w przypadku większych indeksów, ponieważ indeks będzie wyświetlany z okrągłymi "kropkami" zamiast z serii wpisów indeksu i nadal zachodzi na twój widok. – RickJansen
http://stackoverflow.com/questions/556814/changing-the-size-of -the-uisearchbar-textfield. . sprawdź komentarz mike – thndrkiss
thndrkiss: Masz na myśli odpowiedź. Odpowiedzi nie są komentarzami, a Mike opublikował odpowiedź tylko na to pytanie. –
Witam, Sney, czy rozwiązałeś ten problem? – iXcoder