次のように、別の TTTableView に TTTableView (_commentsItem) が埋め込まれています。
self.dataSource = [DetailItemDataSource dataSourceWithObjects:
@"",
self.imageItem,
@"",
findItem,
@"",
_descriptionItem,
@"",
self.shareItem,
self.editItem,
@"",
_commentsItem,
@"",
_addCommentButtonItem,
nil];
_commentsItem に行がある場合、すべてがうまく機能します。_commentsItem でテーブルに行を追加し、[.. refresh] を呼び出すこともできます。これにより、囲んでいるテーブルがそれに応じて調整されます。
この問題は、_commentsItem が空の場合に発生します。通常、画面全体に TTErrorView がオーバーレイされることを期待しますが、何も得られません (実際には、画面全体にオーバーレイすることさえ望んでいません。「emptyTitle」を表示させたいだけです。
問題は、TTErrorView を含む別のビューを作成している TTTableView の "ShowEmpty" にあると思いますが、囲んでいるテーブルはそれについて何も知りません。
- (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 がある場合、埋め込まれたテーブルの「テーブルが空」状態を表示する最良の方法は何ですか?
ありがとう!。