我使用Three20源代码来显示我从twitter获得的文本的超链接,到目前为止,我已经设法将“*”URL映射到TTWebViewController类。
[map from:@"*" toViewController:[TTWebController class]];
但是我也希望能够返回到上一个视图(显示Twitter提要的位置),这是在TTTwitter示例项目中完成的,但我不明白它是如何完成的,这一切看起来都很模糊我和我在文档中没有找到任何内容。
我真的不明白为什么他们将每个类映射到一个URL,以及导航器如何知道如何启动和管理不同的类,例如在我的情况下我从来没有控制过TTWebController,因为我可以有一个包装类,它将实例化webController并将其放在UINavigationController中,但我不知道我需要加载的twitter URL;
任何指针都会受到赞赏,如果有人知道一个好的Three20教程会很棒。
答案 0 :(得分:2)
使用TTNavigator时,我们应该使用TTNavigator创建所有视图控制器。为此,我们应该将所有视图控制器映射到url方案。
首次在应用程序中调用TTNavigator时(在您的情况下通过TTStyledLabel),它会创建一个基本导航控制器。因为您在一个全新的导航控制器中,所以没有看到后退按钮。
因此,您应将Twitter Feed视图控制器映射到网址,并要求TTNavigator在您的应用代理中打开该网址。
您的应用代表中的此类内容应该适合您。
TTNavigator* navigator = [TTNavigator navigator];
navigator.persistenceMode = TTNavigatorPersistenceModeNone;
[self.window makeKeyAndVisible];
TTURLMap* map = navigator.URLMap;
[map from:@"*" toViewController:[TTWebController class]];
[map from:@"app://feed" toViewController:[TwitterFeedViewController class]];
if (![[TTNavigator navigator] restoreViewControllers]) {
TTURLAction* urlAction = [TTURLAction actionWithURLPath:@"app://feed"];
[TTNavigator navigator] openURLAction:urlAction];
}