iPhone - на один уровень выше в TabBar и вызов метода - PullRequest
0 голосов
/ 11 января 2010

У меня есть NavBar, TabBar и SearchBar с ScopeBar. Таким образом, пользователь может выполнять поиск через удаленный сервер. Нажав на один TableRow в TableView, вы вставляете новый ViewController с xib.

Он выполняет некоторые вычисления, и возможно, что я должен закрыть этот View (Controller), и я должен вернуться, как будто я нажимаю кнопку «назад» в NavBar.

Как я могу сделать это программно и вызвать метод в этом ViewController, потому что мне нужно запустить поиск с сохраненным поисковым термином.

Кто-нибудь знает это?

Большое спасибо заранее и наилучшими пожеланиями.

Ответы [ 3 ]

1 голос
/ 11 января 2010
- (UIViewController *)popViewControllerAnimated:(BOOL)animated

если вы

- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated
0 голосов
/ 12 января 2010

Я решил проблему, посмотрите на комментарии.

0 голосов
/ 11 января 2010

Использовать делегирование. Попросите контроллер табличного представления создать новый контроллер представления newViewController и установить newViewController.delegate = self, прежде чем помещать его в стек навигации.

Затем в newViewController, непосредственно перед popViewControllerAnimated: вызовите некоторый метод, например [делегировать doWhwhatWhenNewViewControllerIsPopped: ...]. В идеале вы должны объявить протокол, называемый чем-то вроде NewViewControllerDelegate, и сделать так, чтобы контроллер, описанный выше, реализовал его.

Вы можете изменить кнопку «Назад» в NewViewController на что-то вроде «Готово» или что-то еще, изменив левую кнопку навигации. (См. Свойства UIViewController.)

Надеюсь, что это имеет смысл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...