2010-10-14 16 views
1

我很新手Three20。我正在嘗試創建一個基於TTLauncherView的界面,但現在沒有成功。如何使用TTLauncherView啓動基於TTTableView的視圖?

My LauncherView包含一個映射到URL的按鈕。當我點擊這個按鈕時,我想要一個基於TTTableView的顯示在屏幕上。但我什麼都沒有。

下面是一段我的AppDelegate代碼:

[map from:@"tt://rank" toViewController:[RankController class]]; 

而且LauncherView代碼(一塊,太):

launcherView.pages = [NSArray arrayWithObjects: 
         [NSArray arrayWithObjects: 
         [[[TTLauncherItem alloc]  
         initWithTitle:@"Rank" 
         image:@"bundle://defaultMusic.png" 
         URL:@"tt://rank" 
         canDelete:YES] autorelease],nil], nil]; 

按鈕就在這裏,沒有問題。但是當點擊時,它永遠不會打開我的RankController類。這裏是它的來源:

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
    { 
     if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) 
     { 
      self.title = @"Rank"; 
      self.variableHeightRows = YES; 
     } 

     return self; 
    } 

- (void)dealloc 
{ 
    [super dealloc]; 
} 

- (void) createModel 
{ 
    NSLog(@"rank"); 
    self.dataSource = [TTSectionedDataSource dataSourceWithObjects: 
         @"Items", 
         [TTTableTextItem itemWithText:@"Item n°1" URL:nil], 
         [TTTableTextItem itemWithText:@"Item n°2" URL:nil], 
         [TTTableTextItem itemWithText:@"Item n°3" URL:nil], 
         [TTTableTextItem itemWithText:@"Item n°4" URL:nil], 
         [TTTableTextItem itemWithText:@"Item n°5" URL:nil], 
         nil]; 

} 

我試圖以在Three20打包的例子相同的方式,所以我做錯了什麼?

在此先感謝

回答

1

您需要實現TTLauncherViewDelegate。 在您的.h文件中,聲明你的視圖控制器來實現TTLauncherViewDelegate:

@interface SFLauncherViewController : TTViewController <TTLauncherViewDelegate> 

然後在.m文件,實現此方法:

- (void)launcherView:(TTLauncherView *)launcher didSelectItem:(TTLauncherItem *)item{ 
    NSLog(@"did select item: %@", [item URL]); 
    TTNavigator *navigator = [TTNavigator navigator]; 

    TTURLAction *action = [[TTURLAction actionWithURLPath:[item URL]] applyAnimated:YES]; 

    [navigator openURLAction:action]; 
} 
+0

它的工作原理。非常感謝你 – Harkonnen 2010-10-14 15:04:57

相關問題