在three20 TTCategory示例中,我尝试修改LauncherViewTestController以启动测试视图控制器。我创建了一个TestContrller类并注册为
[map from: @"tt://test"
parent: @"tt://launcherTest"
toViewController: [TestController class]
selector: nil
transition: 0];
然后在launchView:didSelectItem:中,我尝试导航到此测试视图控制器
- (void)launcherView:(TTLauncherView*)launcher didSelectItem:(TTLauncherItem*)item {
TTNavigator *navigator = [TTNavigator navigator];
[navigator openURLAction:[ [TTURLAction actionWithURLPath:@"tt://test"] applyAnimated:NO]];
}
但是,我一直得到“错误嵌套推送动画可能导致导航栏损坏”,并且导航栏与标题堆栈无法正常工作。我是iphone开发的新手,有人可以在这里给我一些帮助吗?
编辑,我在下面发布了我的答案,我需要映射到SharedViewController而不是ViewController。
答案 0 :(得分:2)
这是我正在使用的TTLauncher的一个工作示例,它是基于TTLauncherItem的动作URL推送控制器。在app委托中注册控制器是微不足道的,所以我只包括启动器控制器的功能。
///////////////////////////////////////////////////////////////////////////////////////////////////
- (void)loadView {
[super loadView];
_launcherView = [[TTLauncherView alloc] initWithFrame:self.view.bounds];
_launcherView.backgroundColor = [UIColor whiteColor];
_launcherView.delegate = self;
_launcherView.columnCount = 3;
_launcherView.pages = [NSArray arrayWithObjects:
[NSArray arrayWithObjects:
[[[TTLauncherItem alloc] initWithTitle:@"Breaking News"
image:@"bundle://Icon.png"
URL:@"portal://news/breakingnews"
canDelete:NO] autorelease],
nil],
nil
];
[self.view addSubview:_launcherView];
}
///////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
#pragma mark -
#pragma mark TTLauncherViewDelegate
///////////////////////////////////////////////////////////////////////////////////////////////////
- (void)launcherView:(TTLauncherView*)launcher didSelectItem:(TTLauncherItem*)item {
TTOpenURL(item.URL);
}
答案 1 :(得分:0)
我发现问题是我需要映射到sharedviewcontroller而不是viewcontroller。
[map from: @"tt://test"
parent: @"tt://launcherTest"
toSharedViewController: [TestController class]
selector: nil
transition: 0];