重新启动后,应用程序隐藏三个导航栏

时间:2010-10-13 13:23:06

标签: three20 tabbarcontroller ttnavigator

我遇到了一个小问题:

我写了一个使用tabBarController的小项目,实现文件只有这个方法:

- (void)viewDidLoad {
[self setTabURLs:[NSArray arrayWithObjects:
   @"tt://tableWithShadow",
   @"tt://launcher",
   @"tt://characterList",
   @"tt://mapViewController",
   nil]];
}

在我的appDelegate中的appDidFinishLaunching中,标签栏的映射方式如下:

 [map from:@"tt://tabBarCon" toSharedViewController:[TabBarController class]];

问题是当app退出,然后再次重新打开时,它在退出之前没有完全记住状态,导航栏被隐藏,并且在tabBar上没有选择viewController,它看起来像这样:

http://dl.dropbox.com/u/8583302/Zrzut%20ekranu%202010-10-13%20%28godz.%2015.17.11%29.png

但它应该是这样的:

在下一篇文章中

有人看过这个并知道修复方法吗?

2 个答案:

答案 0 :(得分:1)

您可能需要为视图控制器指定父属性,如下所示:

[map from:@"tt://tableWithShadow" 
         parent:@"tt://tabBarCon" 
         toViewController:[TableWithShadowViewController class]
         selector: nil
         transition: 0];

答案 1 :(得分:0)

我和你的问题一样。我假设您的AppDelegate有四个映射网址。阅读此帖子(http://groups.google.com/group/three20/browse_thread/thread/ec022b9aaa39f366/)并从toViewController更改为toSharedViewController后,导航栏会在重新启动后显示。

[map from:@"tt://tableWithShadow" toSharedViewController:[TableWithShadowController class]];
[map from:@"tt://launcher" toSharedViewController:[LauncherController class]];
[map from:@"tt://characterList" toSharedViewController:[CharacterListController class]];
[map from:@"tt://mapViewController" toSharedViewController:[MapViewControllerController class]];