Удалить неиспользуемые ViewControllers - PullRequest
1 голос
/ 16 марта 2011

Когда я нажимаю на TTTabBar, выбранные вкладки посылают мне один правильный ViewController, затем я нажимаю на другой TTTabBar, он отправляет меня на другой ..... и т. Д., Но как я могу удалить последний ViewController?так что они не просто продолжают накладываться друг на друга.

- (void)tabBar:(TTTabBar*)tabBar tabSelected:(NSInteger)selectedIndex
{       
if(selectedIndex == 0){
    UIViewController* viewController = (UIViewController*)[[TTNavigator navigator] viewControllerForURL:@"tt://Forum"];
    [self.view addSubview:viewController.view];
    [self.view addSubview:_tabBar];
}else if(selectedIndex == 1) {
    UIViewController* viewController = (UIViewController*)[[TTNavigator navigator] viewControllerForURL:@"tt://Profile"];
    [self.view addSubview:viewController.view];
    [self.view addSubview:_tabBar];
}else if(selectedIndex == 2) {
    UIViewController* viewController = (UIViewController*)[[TTNavigator navigator] viewControllerForURL:@"tt://PMs"];
    [self.view addSubview:viewController.view];
    [self.view addSubview:_tabBar];
}else if(selectedIndex == 3) {
    UIViewController* viewController = (UIViewController*)[[TTNavigator navigator] viewControllerForURL:@"tt://Friends"];
    [self.view addSubview:viewController.view];
    [self.view addSubview:_tabBar];
} 
} 

Я получил это на работу

if ([viewController isKindOfClass:[UIViewController class]]) {
    [viewController.view removeFromSuperview];
} else {

}

, когда я добавил его выше

    if(selectedIndex == 0){

Ответы [ 2 ]

1 голос
/ 16 марта 2011

Использование:

- (void)removeFromSuperview

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

http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIView_Class/UIView/UIView.html

0 голосов
/ 17 марта 2011

Является ли TTNavigator классом, который вы написали?Для меня это выглядит как класс синглтон-менеджера ... viewControllerForUrl возвращает автоматически выпущенный экземпляр UIViewController?Вы можете реализовать стек в TTNavigator, где вы будете хранить ссылки на все ваши контроллеры представления, а затем извлекать их по своему усмотрению.

...