我使用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问题描述了相同的症状,但他们的问题在于拖动到刷新控制器,我没有使用它。
任何帮助都会很棒,我在这里不知所措。
干杯, 布雷特
答案 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];
}
但是你可以解释一下你在TTTableView
内TTViewController
的做法吗?我也尝试了上面的代码,但它崩溃了几个与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
方法?
请回复。