2011-01-26 6 views
0

私はTwitterから取得したテキストからハイパーリンクを表示するためにThree20ソースコードを使用していますが、これまで "*" URLを使用してTTWebViewControllerクラスにマッピングしています。はThree20のハイパーリンクに対応していますTTStyledTextLabel iphone

[map from:@"*" toViewController:[TTWebController class]]; 

しかし、私はまた、(Twitterのフィードが表示されている)は、前のビューに戻ることができるようにしたい、これはTTTwitterサンプルプロジェクトで行われているが、私はそのを行う方法を理解していない、それはすべての私には非常にわかりにくいようで、私はドキュメントで何も見つけられませんでした。

なぜ私はすべてのクラスをURLにマップするのか、ナビゲータはどのようにさまざまなクラスを開始し管理するのかを理解できません。たとえば、私の場合、TTWebControllerを制御できません。 webControllerをintentiateしてUINavigationControllerの中に配置するラッパークラスですが、ロードする必要があるtwitter URLはわかりません。

誰かが良いThree20チュートリアルをよく知っていれば、どんな指針も高く評価されます。

答えて

2

TTNavigatorを使用する場合は、TTNavigatorを使用してView Controllerをすべて作成する必要があります。そのためには、すべてのView ControllerをURLスキームにマップする必要があります。

TTNavigatorがアプリケーションで初めて呼び出されたとき(TTStyledLabelを通じて)、ベースナビゲーションコントローラを作成します。新しいナビゲーションコントローラ全体にあるので、戻るボタンは表示されません。

したがって、あなたのTwitterフィードビューコントローラをURLにマップし、そのURLをあなたのアプリケーションデリゲートで開くように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]; 
} 
関連する問題