Вы создаете новые hvc
и vpvc
каждый раз, когда запускаете эту функцию.
В первый раз, я предполагаю, что вы звоните removeTabBar:@"Help"
, он набирает hvc
и vpvc
, а затем показывает правильный.
Во второй раз, когда вы называете это removeTabBar:@"VideoPlayList"
, вы создаете новые hvc
и vpvc
. Это означает, что когда вы звоните hvc dismissModalViewController:YES];
, вы не удаляете тот, который добавили ранее, вы удаляете только что созданный вами, который вообще не отображается!
Чтобы решить эту проблему, вам нужно сделать два контроллера в качестве свойств в вашем приложении делегатом и создать их в методе applicationDidFinishLaunching
.
Добавьте их в .h файл вашего приложения:
@class MyAppDelegate {
HelpViewController *hvc;
VideoPlaylistViewController *vpvc;
}
@property (nonatomic, retain) HelpViewController *hvc;
@property (nonatomic, retain) VideoPlaylistViewController *vpvc;
@end
и в файле .m делегата вашего приложения:
- (void)applicationDidFinishLaunching:(UIApplication *)application {
...
self.hvc = [[[HelpViewController alloc] initWithNibName:@"HelpViewController" bundle:nil] autorelease];
self.vpvc = [[[VideoPlaylistViewController alloc] initWithNibName:@"VideoPlaylistViewController" bundle:nil] autorelease];
...
}
и удалите первые две строки в removeTabBar