Контроллер UINavigation перед контроллером панели вкладок - PullRequest
0 голосов
/ 16 февраля 2012

Я хочу получить поток регистрации контроллера навигации до запуска моего фактического потока контроллера панели вкладок. Сейчас я создал два разных приложения с двумя делегатами.

Я подумал, что сначала можно загрузить поток xib моей регистрации navcontroller, а затем, по завершении регистрации, закрыть его и загрузить контроллер панели вкладок.

Я думаю, что это будет сделано в одном делегате приложения, но я не могу придумать код для вызова потока контроллера навигации первым, и когда он будет завершен, нажатие кнопки приведет к загрузке потока вкладок / xib

1 Ответ

0 голосов
/ 17 февраля 2012

Оказывается, это не так уж сложно, просто несколько простых вещей для понимания.

Во-первых, если вы создаете контроллер TabBar, контроллер TabBar всегда должен быть корневым представлением.Как только вы узнаете это, следующим шагом будет выяснить, какой вид или xib вызывается контроллером TabBar первым.

Как только вы узнаете это, перейдите к представлению или коду контроллера представления xib.В этом коде создайте функцию

- (void) viewDidAppear:(BOOL)animated{
}

В вышеупомянутой функции вы можете внедрить навигационное представление, но сначала вы должны указать навигационному представлению, какое первое представление вы хотите отобразить, сделав так:

PersonalInfoVC *personalInfoVC = [[PersonalInfoVC alloc] initWithNibName:@"PersonalInfoVC" bundle:nil];
UINavigationController *navController  = [[UINavigationController alloc]  
                                           initWithRootViewController:personalInfoVC];
[self.tabBarController presentModalViewController:navController animated:YES];

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

DepositDetailsVC *depositDetailsVC = [[DepositDetailsVC alloc] initWithNibName:@"DepositDetailsVC" bundle:nil];
[self.navigationController pushViewController:depositDetailsVC animated:YES];

Наконец, когда вы закончите с потоком введенного контроллера навигации, запустите этот код, чтобы вернуться к вашемуоригинальный контроллер TabBar

[self.navigationController dismissModalViewControllerAnimated:YES];

Достаточно просто.:)

...