我有一个带有UITableViewController的iPad应用程序。我正在使用
为我的表格部分设置标题标题- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
当表格加载时,如果我向下滚动得太快,当屏幕上出现一个部分标题时,它将被截断为第一个字母并且......(即“假期”被标记为“H ......”)。如果我继续向下滚动,直到标题从视图的顶部离开,然后向上滚动到它,标题将正确显示。
有没有人经历过这个?
答案 0 :(得分:5)
请确保您在nil
中为{strong>不想要标题而不是titleForHeaderInSection
的部分返回@""
。
无论出于何种原因,iPad在滚动时使用空字符串的长度作为标题文本长度,然后不重绘标题(而在iPhone上则重绘)。对于您不想要标题的部分返回nil
会在iPhone和iPad上产生所需的行为。
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
switch (section) {
case NUM_SECTIONS-2:
return @"Second to last";
break;
case NUM_SECTIONS-1:
return @"last";
break;
default:
return nil;
break;
}
}
而下面的代码在快速滚过标题时显示“...”:
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
switch (section) {
case NUM_SECTIONS-2:
return @"Second to last";
break;
case NUM_SECTIONS-1:
return @"last";
break;
default:
return @"";
break;
}
}