2012-04-16 6 views
0

私はthree20を使用してアプリケーションを作成しようとしていますが、TTnavigatorのルートビューコントローラーを設定する問題があります。xibでルートとしてのTTViewController

これは明らかに、私は事前に

おかげで何か間違ったことをやっている

TTURLMap* map = navigator.URLMap; 
[map from:@"*" toViewController:[TTWebController class]]; 
[map from:@"tt://root/(loadFromNib:)/(withClass:)" toViewController:[MainViewController class]]; 

マッピングコードされる:)

+1

あなたはTTNavigatorを使用しています。それはあなたが間違っていることです;-) TTNavigatorを使わずにthree20を使用することはできます。あなたのTTViewControllerを古い "apple fashion"でプッシュ/ポップするだけです – aporat

答えて

1

私はこれが私の解決策である最終的

をそれを把握

-(void)applicationDidFinishLaunching:(UIApplication *)application 
{ 
    TTNavigator * navigator = [TTNavigator navigator]; 
    navigator.persistenceMode = TTNavigatorPersistenceModeAll; 
    navigator.window = self.window; 

    TTURLMap* map = navigator.URLMap; 
    [map from:@"*" toViewController:[TTWebController class]]; 
    [map from:@"tt://root/(loadFromNib:)/(withClass:)" toSharedViewController:self]; 

    if (![navigator restoreViewControllers]) { 
     [navigator openURLAction:[TTURLAction actionWithURLPath:@"tt://root/MainViewController/MainViewController"]]; 
    } 

} 
/** 
* Loads the given viewcontroller from the nib 
*/ 
- (UIViewController*)loadFromNib:(NSString *)nibName withClass:className { 
    UIViewController* newController = [[NSClassFromString(className) alloc] 
             initWithNibName:nibName bundle:nil]; 
    [newController autorelease]; 

    return newController; 
} 


/////////////////////////////////////////////////////////////////////////////////////////////////// 
/** 
* Loads the given viewcontroller from the the nib with the same name as the 
* class 
*/ 
- (UIViewController*)loadFromNib:(NSString*)className { 
    return [self loadFromNib:className withClass:className]; 
} 


/////////////////////////////////////////////////////////////////////////////////////////////////// 
/** 
* Loads the given viewcontroller by name 
*/ 
- (UIViewController *)loadFromVC:(NSString *)className { 
    UIViewController * newController = [[ NSClassFromString(className) alloc] init]; 
    [newController autorelease]; 

    return newController; 
} 


- (BOOL)application:(UIApplication*)application handleOpenURL:(NSURL*)URL { 
    [[TTNavigator navigator] openURLAction:[TTURLAction actionWithURLPath:URL.absoluteString]]; 
    return YES; 
} 
関連する問題