将 TTTableView 中的自定义单元实现为 TTViewController
我有 TTViewController 在里面包含一个 TTTableView 并初始化 TTTableView 如下:
- (void)loadView{
appTableView = [[TTTableView alloc] initWithFrame:CGRectMake(10, 20, self.view.width - 20, (self.view.height - 44 - 49)/2 - 40)];
appTableView.backgroundColor = [UIColor clearColor];
appTableView.delegate = self;
appTableView.separatorStyle = UITableViewCellSeparatorStyleNone;
[self.view addSubview:appTableView];
}
并且
- (void)requestDidFinishLoad:(TTURLRequest*)request {
appTableView.dataSource = [TTListDataSource dataSourceWithObjects:
[CustomTTTableSubtitleItem itemWithTitle:result.resourceName text:textCombine ],nil];
}
我已经编码了:
- (Class)tableView:(UITableView*)tableView cellClassForObject:(id) object {
if ([object isKindOfClass:[CustomTTTableSubtitleItem class]]) {
NSLog(@"here");
return [CustomTTTableSubtitleItemCell class];
}
else {
return [self tableView:tableView cellClassForObject:object];
}
}
当然我添加了协议
@interface TestController : TTViewController<TTTableViewDelegate,TTTableViewDataSource>
,但似乎 -(Class)tableView:(UITableView*)tableView cellClassForObject:(id) 对象没有被调用。 ..我错过了什么吗?
I have TTViewController include a TTTableView inside and init TTTableView like below:
- (void)loadView{
appTableView = [[TTTableView alloc] initWithFrame:CGRectMake(10, 20, self.view.width - 20, (self.view.height - 44 - 49)/2 - 40)];
appTableView.backgroundColor = [UIColor clearColor];
appTableView.delegate = self;
appTableView.separatorStyle = UITableViewCellSeparatorStyleNone;
[self.view addSubview:appTableView];
}
and in
- (void)requestDidFinishLoad:(TTURLRequest*)request {
appTableView.dataSource = [TTListDataSource dataSourceWithObjects:
[CustomTTTableSubtitleItem itemWithTitle:result.resourceName text:textCombine ],nil];
}
I've coded this:
- (Class)tableView:(UITableView*)tableView cellClassForObject:(id) object {
if ([object isKindOfClass:[CustomTTTableSubtitleItem class]]) {
NSLog(@"here");
return [CustomTTTableSubtitleItemCell class];
}
else {
return [self tableView:tableView cellClassForObject:object];
}
}
and of course I added protocol
@interface TestController : TTViewController<TTTableViewDelegate,TTTableViewDataSource>
but seems -(Class)tableView:(UITableView*)tableView cellClassForObject:(id) object not be called... anything I missed?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
- (Class)tableView:(UITableView*)tableView cellClassForObject:(id) object
是一个 TTTableViewDataSource 函数,因此您必须将 TTListDataSource 扩展到您自己的数据源类中,并在那里重写此函数并且不在 TTViewController 下。在您的 TTViewController 中,创建自定义数据源:
并在您的自定义 TTTableViewDataSource 中添加您的
- (Class)tableView:(UITableView*)tableView cellClassForObject:(id) object
自定义函数the
- (Class)tableView:(UITableView*)tableView cellClassForObject:(id) object
is a TTTableViewDataSource function, so you will have to extend the TTListDataSource into your own data source class, and override this function there and not under TTViewController.In your TTViewController, create the custom data source:
and in your custom TTTableViewDataSource have your
- (Class)tableView:(UITableView*)tableView cellClassForObject:(id) object
custom function