IOS удалить вкладку при нажатии кнопки - PullRequest
0 голосов
/ 08 марта 2012

Я создал проект на основе панели вкладок и добавил вид входа в систему до представления вкладок, как это.

AppDelgate.m

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    

    loginView = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil];
    loginView.delegate = self;

    [window addSubview:loginView.view];

    [self.window makeKeyAndVisible];

    return YES;
}

-(void) loginViewControllerDidFinish:(LoginViewController *) loginViewController{
    [window addSubview:tabBarController.view];
}

I 'Я вызываю loginViewControllerDidFinish: после аутентификации в LoginViewController как

[self.delegate loginViewControllerDidFinish:self];

Теперь на одной из вкладок я добавил кнопку выхода из системы и хочу вернуться к loginView при прикосновении.

-(IBAction) logout:(id)sender{
    NMSAppDelegate *appDelegate = (NMSAppDelegate *)[[UIApplication sharedApplication] delegate];

    //[appDelegate.tabBarController release];
    [appDelegate.tabBarController.view removeFromSuperview];
}

itпоказывает loginView после вызова вышеупомянутого метода, но после повторного входа в систему он показывает все предыдущие данные и ранее выбранную вкладку, но я хочу, чтобы он был заново с первой вкладки. В любом случае есть ли полностью удалить панель вкладок на logout.so, что я 'Я начинаю новый сеанс.

Спасибо

1 Ответ

0 голосов
/ 08 марта 2012

Не можете ли вы создать другой экземпляр appDelegate.tabBarController?

Примерно так:

appDelegate.tabBarController = [[UITabBarController alloc] init];
appDelegate.tabBarController.viewControllers = [NSArray arrayWithObject:VIEW_CONTROLLER1, VIEW_CONTROLLER2,nil];

appDelegate.window.rootViewController = tabBarController;
[appDelegate.window makeKeyAndVisible];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...