iOS:UITableView 表数据未显示在子类别中:iPhone
Posted
技术标签:
【中文标题】iOS:UITableView 表数据未显示在子类别中:iPhone【英文标题】:iOS: UITableView Table Data Not Showing Up In to Sub Categories:iPhone 【发布时间】:2016-04-11 10:15:56 【问题描述】:我想在表格上显示数据并且 Perticuler 数据有子数据
例如
A组
1.1 名称列表
B组
2.1 名称列表
2.2 运动列表
提前致谢 (^_^)
【问题讨论】:
尝试将contentInset
用于您的单元格。
【参考方案1】:
你需要实现MultiLevel UITableView很好的教程,感谢Sagar
// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
cell.textLabel.text=[[self.arForTable objectAtIndex:indexPath.row] valueForKey:@"name"];
[cell setIndentationLevel:[[[self.arForTable objectAtIndex:indexPath.row] valueForKey:@"level"] intValue]];
return cell;
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
[tableView deselectRowAtIndexPath:indexPath animated:YES];
NSDictionary *d=[self.arForTable objectAtIndex:indexPath.row];
if([d valueForKey:@"Objects"])
NSArray *ar=[d valueForKey:@"Objects"];
BOOL isAlreadyInserted=NO;
for(NSDictionary *dInner in ar )
NSInteger index=[self.arForTable indexOfObjectIdenticalTo:dInner];
isAlreadyInserted=(index>0 && index!=NSIntegerMax);
if(isAlreadyInserted) break;
if(isAlreadyInserted)
[self miniMizeThisRows:ar];
else
NSUInteger count=indexPath.row+1;
NSMutableArray *arCells=[NSMutableArray array];
for(NSDictionary *dInner in ar )
[arCells addObject:[NSIndexPath indexPathForRow:count inSection:0]];
[self.arForTable insertObject:dInner atIndex:count++];
[tableView insertRowsAtIndexPaths:arCells withRowAnimation:UITableViewRowAnimationLeft];
-(void)miniMizeThisRows:(NSArray*)ar
for(NSDictionary *dInner in ar )
NSUInteger indexToRemove=[self.arForTable indexOfObjectIdenticalTo:dInner];
NSArray *arInner=[dInner valueForKey:@"Objects"];
if(arInner && [arInner count]>0)
[self miniMizeThisRows:arInner];
if([self.arForTable indexOfObjectIdenticalTo:dInner]!=NSNotFound)
[self.arForTable removeObjectIdenticalTo:dInner];
[self.tableView deleteRowsAtIndexPaths:
[NSArray arrayWithObject:[NSIndexPath indexPathForRow:indexToRemove inSection:0]]
withRowAnimation:UITableViewRowAnimationRight];
【讨论】:
谢谢我有相同的代码,但是当我在我的项目中使用它时,所有表格单元格都在直线上.....请问我现在应该做什么 @RahulSharma 你试过了吗Example code 它工作得很好我已经在我身边测试过,也花一些时间来理解这个例子并尝试在你的项目中遵循同样的方法,我相信你会让它工作。 好吧,让我尝试更多,我会理解的更多,我可以再次感谢并快乐编码 嘿,我发现了问题问题是我正在使用带有图像的自定义单元格,这就是为什么我的关卡不起作用你有什么想法#RDC @RDC 你应该寻找自定义单元格,有大量示例如何使用自定义单元格***.com/questions/5869610/… 和***.com/questions/22348994/…以上是关于iOS:UITableView 表数据未显示在子类别中:iPhone的主要内容,如果未能解决你的问题,请参考以下文章
UITableView 未显示运行 iOS 5 的 iPad
UITableView 未显示在 UIScrollView 内