在UITableViewCell中显示SubCell

时间:2017-02-10 05:23:31

标签: ios objective-c uitableview

我正在尝试在UITableViewCell中显示子单元格。我有两个包含groupname和groupid的数组。我可以使用下面的代码在自定义TableViewCell的tableview中显示groupname。

 NSArray *groupIdArr;
    NSArray *groupNameArr;

groupNameArr (
    ANTISERA,
    CLIA,
    COAGULATION,
    CONFIRMATORY,
    ELISA,
    IMMUNOLOGY,
    MISC,
    RAPID
)

groupIdArr (
    20,
    21,
    22,
    23,
    19,
    31,
    29,
    18
)


- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return [groupIdArr count];
}



- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *simpleTableIdentifier = @"ProductGroupTableViewCell";

    ProductGroupTableViewCell *cell = (ProductGroupTableViewCell *)[tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
    if (cell == nil)
    {
        NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"ProductGroupTableViewCell" owner:self options:nil];
        cell = [nib objectAtIndex:0];
    }

    cell.productGroupNameLbl.text = [groupNameArr objectAtIndex:indexPath.row];

    return cell;
}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
        NSString *saveGroupId = [groupIdArr objectAtIndex:indexPath.row];

        [[NSUserDefaults standardUserDefaults] setObject:saveGroupId forKey:@"SavedGroupId"];
        [[NSUserDefaults standardUserDefaults] synchronize];

    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
    UIViewController *productListVC = [storyboard instantiateViewControllerWithIdentifier:@"ProductsListViewController"];
    [self.navigationController pushViewController:productListVC animated:YES];


}

enter image description here

当用户点击TableViewCell时,用户可以看到与所选groupid相关的产品列表,如下所示,他可以选择产品。

enter image description here

选择产品后,用户将按完成按钮返回上一个视图,在该视图中,他可以在下面的组名中看到所选产品。我将NSMutableArray中的所选产品名称带到上一个视图。但我无法弄清楚如何显示以下输出。

我尝试了很多寻找解决方案但没有运气。任何帮助将非常感激。

enter image description here

2 个答案:

答案 0 :(得分:0)

您可以使用UIView显示单元格内的子单元格。以编程方式创建UIView。在需要时在单元格内添加此视图,然后重新加载该特定单元格并根据您的需要高度更改高度...您可以继续使用。

答案 1 :(得分:0)

请查看此演示,您将找到解决方案。

SideMenu Demo