Сброс модального вида контроллера - PullRequest
0 голосов
/ 25 мая 2011

У меня есть модальный контроллер вида, который запускает процесс.Если я отклоняю контроллер модального вида, а затем снова открываю его, он продолжает с того места, где он остановился.Я хочу (после увольнения) сбросить модальный контроллер вида, отменить всю обработку и вернуть его в исходное состояние.Есть ли способ?

Ура

Ответы [ 3 ]

2 голосов
/ 03 сентября 2012

извините, если я скажу что-то очевидное, но я потратил некоторое время, чтобы выяснить, как это сделать:

Не сохраняйте объект подкласса UIViewController в ivar, просто alloc] init] новый объект каждый раз, когда вы хотите его представить.

В моем случае у меня есть этот код в MasterViewController.h

@property (strong, nonatomic) ContactsDetailViewController *detailViewController;

и этот в MasterViewController.m

@synthesize detailViewController = _detailViewController;

if (!self.detailViewController) {
self.detailViewController = [[ContactsDetailViewController alloc] 
            initWithNibName:@"ContactsDetailViewController" 
            bundle:nil];
}

Вы должны удалить этот код и использовать следующий код там, где вы нажимаете свой контроллер модального вида:

ContactsDetailViewController *detailViewController = [[ContactsDetailViewController alloc] initWithNibName:@"ContactsDetailViewController" bundle:nil];
detailViewController.title = @"View Controller"; // for example
[self.navigationController pushViewController:detailViewController animated:YES];

примечание: я использую ARC в этом проекте

Надеюсь, это кому-нибудь пригодится

2 голосов
/ 25 мая 2011

Не сохраняйте объект подкласса UIViewController в ivar, просто alloc] init] новый объект каждый раз, когда вы хотите его представить.

0 голосов
/ 28 августа 2011

В методе viewDidUnload viewController для вашего модального представления попробуйте остановить задачу.

...