2013-07-16 26 views
5

Voglio creare una vista come, iOS contatto applicazione ha,Index come iOS contatto app

Fondamentalmente quello che voglio è, Composizione verticale ABCDEFG.... che si trova sulla destra lato di questa immagine, quando l'utente fa clic sul carattere M voglio ottenere il carattere M Come devo raggiungere questo? c'è un controllo iOS che mi dà questo 'ABCDEF ...?

Grazie in anticipo.

EDIT

+0

Si desidera creare un UITableView personalizzato con un indice o si desidera semplicemente presentare il selettore di contatti integrato? – Fogmeister

+0

Non desidero creare tabelle personalizzate, voglio solo ABCDEF ... che si trova nella parte destra. qual è il nome di quel controllo ?? è quel raccoglitore di contatti ?? – Krunal

+0

Hai una vista tabella con i tuoi dati al suo interno? O stai usando il selettore di contatti? SI PREGA DI SPIEGARE COSA VUOI FARE ALTRIMENTI NON ABBIAMO ALCUNA IDEA. Il controllo a cui ti riferisci fa parte di 'UITableView' se non hai un' UITableView', quindi non puoi ottenerlo senza scrivere tutto da solo. – Fogmeister

risposta

12

È necessario implementare questi due metodi:

// 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; 

con la corrispondente origine dati:

Ad esempio, se si dispone di un array con

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

allora si sarebbe tornare e array per sectionIndexTitlesForTableView come:

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

perché @"Dog" e @"Duck" vale per @"D", @"Mouse" e @"Monkey" va per @"M" e così via.

E naturalmente, per sectionForSectionIndexTitle, si restituisce l'indice corrispondente per tale indice. (1 per @"D", 3 per @"M" ecc.)

+0

voglio pieno 'ABCD ...' devo scrivere così ?? '- (NSArray *) sectionIndexTitlesForTableView: (UITableView *) tableView { return [NSArray arrayWithObjects: @" A ", @" B ", @" C ", @" D ", @" D ", .... nil ]; } 'e come recuperare il personaggio selezionato ?? – Krunal

+0

sì, è corretto.Per recuperare i primi caratteri, puoi farlo da solo (non è così difficile) o se hai già un 'NSArray', o' NSFetchedResultsController', puoi ottenerli con un 'NSPredicate', anche se non sono sicuro per 'NSArray' come è fatto, dato che non mi piace questo metodo. Mi piace farlo da solo, per avere più controllo. –

+0

Ho provato questo, sto diventando pieno 'ABCDE ...', ora quando clicco su searchicon che è un primo carattere quindi la barra di ricerca non viene visualizzata .... vedi il mio ** EDIT ** nella domanda – Krunal