У меня возникли проблемы со следующим.Вход/Выход с UITabBarController?
Банкоматы я есть LoginView, который посылает пользователю к проверке tabbarcontroller.After пользователь отправляется на tabbarcontroller со следующим кодом:
-(void)userSuccessfullyLoggedIn{
[self.window setRootViewController:myTabBarController];
[myTabBarController setSelectedIndex:0];
[self.window makeKeyAndVisible];
}
После этого пользователь успешно отправлен на первый взгляд на вкладке.
5-й элемент на панели вкладок содержит пустой вид, чтобы «вывести» пользователя из панели управления tabbar обратно в LoginView.
// The following code intercepts the popup that confirms the "log out" dialog.
-(void)alertView:(UIAlertView *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{
// index 0 is the YesButton that is supposed to "log out" the user.
if (buttonIndex == 0)
{
myAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
[appDelegate userLogsOut];
}
else{
NSLog(@"The user chose not to logout. Passing the user to the first tab");
[[self myTabBarController] setSelectedIndex:0];
}
}
код [делегат userLogsOut] код выглядит следующим образом:
-(void)userLogsOut{
[self.window setRootViewController:myLoginViewController]
[self.window makeKeyAndVisible];
}
А теперь описать проблему.
Он работает так же, как я хочу, за исключением случаев, когда пользователь снова входит в систему и должен приземлиться на первой вкладке, содержащей первый вид, всплывающее диалоговое окно из пустого logoutView просто появляется из ниоткуда.
Первый вид отображается в фоновом режиме, и если выбрано НЕ для выхода из системы, диалог исчезает, если пользователь выбирает ДА в этот момент, пользователь снова выходит из системы.
Спасибо за чтение, и любые советы и/или указатели будут высоко оценены. Заранее спасибо.
Я пытаюсь реализовать подобную проблему - логин и контроллер панели вкладок из него. Где вы определяете myTabBarController во входе? Я использую раскадровку. Благодаря! – Dejell
'UITabBarController' определен в' UIApplicationDelegate'. Это было сделано без раскадровки. – doge