TTViewController中的TTTableView

时间:2011-07-22 16:06:44

标签: iphone objective-c three20

我使用Three20添加一些表格视图(TTTableView)。我有TTViewController使用以下内容添加TTTableView作为子视图:

    _signupTableView = [[TTTableView alloc] initWithFrame:CGRectMake(0, kScrollViewHeight + kSignupLabelHeight, 320, kTableViewHeight) style:UITableViewStyleGrouped];
        [_signupTableView setBackgroundColor:[UIColor clearColor]];

        _signupTableView.delegate = self;
        _signupTableView.dataSource = [TTSectionedDataSource dataSourceWithObjects:
                                                   @"",
                                                   [TTTableTextItem itemWithText:@"Sign Up" URL:@"tt://signupController"],
                                                   nil];
[self.view addSubview:_signupTableView];

所有工作正常,除了敲击单元格外。细胞变成蓝色,并保持这种状态。永远不会将导航推送到 tt:// signupController

任何人都可以想到这不起作用的原因???我发现了一个类似的SO问题描述了相同的症状,但他们的问题在于拖动到刷新控制器,我没有使用它。

任何帮助都会很棒,我在这里不知所措。

干杯, 布雷特

2 个答案:

答案 0 :(得分:1)

在没有看到任何其他代码的情况下,您似乎没有为App Delegate中的不同ViewControllers设置映射。尝试添加到您的App Delegate:

TTURLMap* map = navigator.URLMap;
[map from:@"tt://signupController" toViewController: NSClassFromString(@"SignupController")];

希望这可以帮助你。

答案 1 :(得分:0)

我认为这就是你想要的 -

-(void)didSelectObject:(id)object atIndexPath:(NSIndexPath *)indexPath {

    NSLog(@"%d", indexPath.row);
    int i = indexPath.row;

    TTNavigator *navi = [TTNavigator navigator];
    navi.persistenceMode = TTNavigatorPersistenceModeNone;
    TTURLAction *action =  [[[TTURLAction actionWithURLPath:@"tt://signupController"] applyQuery:[NSDictionary dictionaryWithObject:arr forKey:@"stories"]] applyAnimated:YES];
    [navi openURLAction:action];    
}

但是你可以解释一下你在TTTableViewTTViewController的做法吗?我也尝试了上面的代码,但它崩溃了几个与TTModel相关的警告。 这是我制作的代码 -

.H文件的代码 -

@interface Social1 : TTViewController <TTTableViewDataSource, TTTableViewDelegate, TTModelDelegate> {

    TTTableView *_tableview;
}
@property(nonatomic, retain)TTTableView *_tableview;
@end

内部代码。viewDidLoad

    self._tableview = [[TTTableView alloc]initWithFrame:CGRectMake(0, 44, self.view.frame.size.width, 330) style:UITableViewStyleGrouped];
    self._tableview.delegate = self;
    self._tableview.dataSource =
    [TTListDataSource dataSourceWithObjects:
     [TTTableMessageItem itemWithTitle:@"Facebook" 
                               caption:nil
                                  text:kLoremIpsum timestamp:nil
                              imageURL:local_fb URL:@"tt://socialfb"],
     [TTTableMessageItem itemWithTitle:@"Twitter" caption:nil
                                  text:kLoremIpsum timestamp:nil
                              imageURL:local_tw URL:@"http://www.twitter.com/eset"],
     [TTTableMessageItem itemWithTitle:@"YouTube" caption:nil
                                  text:kLoremIpsum timestamp:nil
                              imageURL:local_yt URL:@"tt://videos"],
     [TTTableMessageItem itemWithTitle:@"LinkedIn" caption:nil
                                  text:kLoremIpsum timestamp:nil
                              imageURL:local_li URL:@"http://m.LinkedIn.com/"],
     nil];
    [self.view addSubview:self._tableview];
}

代码是否需要任何其他delegate方法? 请回复。