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 的自定义单元格中

UITableView 未显示运行 iOS 5 的 iPad

UITableView 中未加载 JSON 数据

UITableView 未显示在 UIScrollView 内

iOS 帮助:UITableViewCell 类的自定义设计未显示在 UITableView 中

在 iOS8 的 Interface Builder 中向 UITableView 添加静态单元格?内容部分未显示