Воздействие на didSelectRowAtIndexPath во время UISearchDisplayController

У меня есть UIScrollView, который содержит UIImageView и UISearchDisplayController. Когда пользователь нажимает на изображение, появляется контроллер отображения поиска. Я фильтрую список на основе поискового текста, и таблица, связанная с UISearchDisplayController, правильно обновляется. Когда пользователь нажимает на строку в таблице, я получаю didSelectRowAtIndexPath. Вот что работает. (Я использовал это руководство, чтобы помочь мне реализовать UISearchDisplayController.)

Однако я не могу понять, как (а) удалить UISearchDisplayController (т.е. поле поиска и таблицу) из didSelectRowAtIndexPath и (б) как передать информацию о выбранной строке в UIScrollView.

Спасибо.


person Steve A    schedule 10.11.2012    source источник


Ответы (1)


A) Вы должны иметь возможность закрыть контроллер UISearchDisplay примерно так:

[searchDisplayController setActive:NO animated:YES];

Б) Я предполагаю, что вы запускаете новый контроллер представления для отображения информации о выбранной строке? Если да, сделайте что-нибудь вроде этого:

MyViewController *viewController = [[MyViewController alloc] initWithNibName:@"myNibName" bundle:nil];
MyObject *object = [allObjects objectAtIndex:indexPath.row];

// pass object to view controller's "object" property
viewController.object = object;

[self.navigationController pushViewController:viewController animated:YES];

Извините, если что-то не в синтаксисе, не вводил в xcode.

person Andrew Robinson    schedule 12.11.2012
comment
Идеально. «А» было тем, что мне было нужно. Мне не понадобился B, потому что я возвращался к своему RootViewController. Спасибо Спасибо! - person Steve A; 15.11.2012
comment
Не проблема :) Примите ответ, если он решит проблему. - person Andrew Robinson; 15.11.2012