2013-07-16 4 views
5

Я хочу, чтобы создать представление, как, iOS контакт приложения имеет,индекса, как IOS контактов приложение

В основном я хочу, вертикальный ABCDEFG...., который расположен на правой стороны этого изображения, когда пользователь нажимает на символ M Я хочу получить символ M Как я должен это достичь? есть ли какой-либо элемент управления iOS , который дает мне этот «ABCDEF ...?

Thanks in advnace.

EDIT

+0

Вы хотите создать пользовательский UITableView с индексом или просто хотите представить встроенный контакт? – Fogmeister

+0

Я не хочу создавать пользовательские таблицы, я хочу только ABCDEF ... который находится в правой части. как называется этот контроль? это то, что контактщик? – Krunal

+0

У вас есть табличный вид с вашими данными? Или вы используете контакт? ПОЖАЛУЙСТА, ОБЪЯСНИТЕ, ЧТО ВЫ ХОТИТЕ СДЕЛАТЬ ИНОЕ, ИМЕЕТЕ НЕ ИДЕИ. Элемент управления, который вы имеете в виду, является частью 'UITableView', если у вас нет' UITableView', тогда вы не можете получить это, не написав все это с нуля. – Fogmeister

ответ

12

Вы должны реализовать эти два метода:

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

с соответствующим источником данных:

Например, если у вас есть массив с

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

, то вы бы вернуться и массив для sectionIndexTitlesForTableView как:

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

потому @"Dog" и @"Duck" идет на @"D", @"Mouse" и @"Monkey" идет на @"M" и так далее.

И, конечно, для sectionForSectionIndexTitle вы возвращаете соответствующий индекс для этого индекса. (1 для @"D", 3 для @"M" и т. Д.)

+0

Мне нужно полное 'ABCD ...' Мне нужно писать вот так? '- (NSArray *) sectionIndexTitlesForTableView: (UITableView *) tableView { return [NSArray arrayWithObjects: @" A ", @" B ", @" C ", @" D ", @" D ", .... nil ]; } 'и как выбрать выделенный символ? – Krunal

+0

да, это правильно.Для получения первых символов вы можете сделать это самостоятельно (это не так сложно), или если у вас уже есть «NSArray» или «NSFetchedResultsController», вы можете получить их с помощью «NSPredicate», хотя я не уверен для 'NSArray', как это делается, так как мне не нравится этот метод. Мне нравится делать это самостоятельно, чтобы иметь больше контроля. –

+0

Я пробовал это, я получаю полный 'ABCDE ...', теперь, когда я нажимаю на searchicon, который является первым символом, тогда поисковая панель не появляется .... см. Мой ** EDIT ** в вопросе – Krunal