我在另一个 TTTableView 中嵌入了一个 TTTableView (_commentsItem),如下所示:
self.dataSource = [DetailItemDataSource dataSourceWithObjects:
@"",
self.imageItem,
@"",
findItem,
@"",
_descriptionItem,
@"",
self.shareItem,
self.editItem,
@"",
_commentsItem,
@"",
_addCommentButtonItem,
nil];
当 _commentsItem 有行时,一切正常。我什至可以在 _commentsItem 中向表中添加行,调用 [..refresh],并且封闭表会相应地自行调整。
当 _commentsItem 为空时会出现问题。通常,您希望得到一个覆盖整个屏幕的 TTErrorView,但我什么也没得到(实际上,我什至不希望它覆盖整个屏幕,我只想让“emptyTitle”显示出来。
我认为问题出在 TTTableView 的“ShowEmpty”中,它正在创建另一个包含 TTErrorView 的视图,而封闭表对此一无所知:
- (void)showEmpty:(BOOL)show {
if (show) {
NSString* title = [_dataSource titleForEmpty];
NSString* subtitle = [_dataSource subtitleForEmpty];
UIImage* image = [_dataSource imageForEmpty];
if (title.length || subtitle.length || image) {
TTErrorView* errorView = [[[TTErrorView alloc] initWithTitle:title
subtitle:subtitle
image:image] autorelease];
errorView.backgroundColor = _tableView.backgroundColor;
self.emptyView = errorView;
} else {
self.emptyView = nil;
}
_tableView.dataSource = nil;
[_tableView reloadData];
} else {
self.emptyView = nil;
}
}
我怀疑当它的 TTTableView 嵌入另一个 TTTableView 时 showEmpty 并不是真的要正常工作,但是问题就变成了如何做到这一点。封闭表期望 _commentsItem 是一个 TTTableViewItem,所以我不能将 _commentsItem 的视图换成一个 UILabel。
所以问题是:当您在另一个 TTTableView 中嵌入了一个 TTTableView 时,为嵌入的表格显示“表格空”状态的最佳方式是什么?
谢谢!。