2013-07-16 8 views
5

Chcę utworzyć widok jak, iOS kontakt aplikacja ma,Główna jak iOS kontaktowego aplikacji

Zasadniczo chcę to, Pionowy ABCDEFG.... który znajduje się po prawej stronę tego obrazu, kiedy użytkownik klika na znak M chcę uzyskać dostać postać M Jak powinienem to osiągnąć? czy jest jakiś kontroler iOS , który daje mi to `ABCDEF ...?

Dzięki w advnace.

EDIT

+0

Czy chcesz utworzyć niestandardowy UITableView z indeksem, czy chcesz tylko zaprezentować wbudowany selektor kontaktów? – Fogmeister

+0

Nie chcę tworzyć niestandardowego widoku tabeli, chcę tylko ABCDEF ..., który znajduje się po prawej stronie. jak nazywa się ta kontrola? czy to jest selektor kontaktów? – Krunal

+0

Czy masz widok tabeli z własnymi danymi? A może używasz selektora kontaktów? PROSZĘ WYJAŚNIĆ CO CHCESZ ZROBIĆ INACZEJ NIE MAMY POMYSŁU. Kontrolka, do której się odnosisz, jest częścią 'UITableView', jeśli nie masz' UITableView', wtedy nie możesz tego uzyskać bez napisania wszystkiego od samego początku. – Fogmeister

Odpowiedz

12

Trzeba wdrożyć te dwie metody:

// return list of section titles to display in section index view (e.g. "ABCD...Z#") 
- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView;              
// tell table which section corresponds to section title/index (e.g. "B",1)) 
- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index; 

z odpowiednim źródłem danych:

Na przykład, jeśli masz tablicę z

`@"Cat", @"Mouse", @"Dog", @"Horse", @"Duck", @"Monkey"` 

wtedy wrócisz i tablica dla sectionIndexTitlesForTableView jak:

`@[@"C", @"D", @"H", @"M"]` 

ponieważ @"Dog" i @"Duck" idzie @"D", @"Mouse" i @"Monkey" idzie @"M" i tak dalej.

I oczywiście dla sectionForSectionIndexTitle zwracasz odpowiedni indeks dla tego indeksu. (1 dla @"D", 3 dla @"M" itp.)

+0

Chcę pełne 'ABCD ...' muszę napisać tak? '- (NSArray *) sectionIndexTitlesForTableView: (UITableView *) tableView { return [NSArray arrayWithObjects: @" A ", @" B ", @" C ", @" D ", @" D ", ... zero ]; } 'i jak pobrać wybrany znak ?? – Krunal

+0

tak, to prawda.Aby pobrać pierwsze znaki, możesz zrobić to na własną rękę (to nie jest takie trudne) lub jeśli masz już 'NSArray' lub' NSFetchedResultsController', możesz pobrać je z 'NSPredicate', choć nie jestem pewien dla 'NSArray' jak to się robi, ponieważ nie lubię tej metody. Lubię to robić na własną rękę, aby mieć większą kontrolę. –

+0

Próbowałem tego, otrzymuję pełny 'ABCDE ...', teraz kiedy klikam na searchicon, który jest pierwszym znakiem, a następnie pasek wyszukiwania nie jest wyświetlany .... zobacz moje ** EDIT ** w pytaniu – Krunal