展开折叠UITableViewCell

时间:2011-03-04 06:38:45

标签: iphone objective-c cocoa-touch uitableview

  

可能重复:
  UITableView Cell expand on click

我在UITableView的UITableViewCell中需要帮助。我的要求如下:

enter image description here

查看转推,列表等 当我点击转推跟随出现 enter image description here

你可以看到转发展开并显示其他列表和列表以及下面的更多幻灯片。 我想做同样的事情。 任何类型的帮助都是高度赞赏,教程链接或任何东西。 谢谢

4 个答案:

答案 0 :(得分:20)

您也可以从Apple找到this示例代码,非常有帮助。

答案 1 :(得分:8)

我使用tableview标头实现了类似的一个。

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
    UIView *customView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 32)];
    UIButton *sectionButton = [UIButton buttonWithType:UIButtonTypeCustom];
    sectionButton.tag = section;
    sectionButton.frame = customView.frame;
    [sectionButton addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside];

    UILabel *titleLabel = [[[UILabel alloc] initWithFrame:CGRectMake(0, 0, 320, 32)] autorelease];
    titleLabel.textAlignment = UITextAlignmentCenter;
    titleLabel.backgroundColor = [UIColor clearColor];
    titleLabel.font = [UIFont boldSystemFontOfSize:13];
    titleLabel.textColor = [UIColor whiteColor];

    NSString *tableHeader = @"table_header_down.png";
    switch (section) {
        case 0:
            titleLabel.text = @"Section1";
            tableHeader = showSection1 ? @"table_header_up.png" : @"table_header_down.png";
            break;
        case 1:
            titleLabel.text = @"Section2";
            tableHeader = showSection2 ? @"table_header_up.png" : @"table_header_down.png";
            break;
        case 2:
            titleLabel.text = @"Section3";
            tableHeader = showSection3 ? @"table_header_up.png" : @"table_header_down.png";
            break;
        case 3:
            titleLabel.text = @"Section4";
            tableHeader = showSection4 ? @"table_header_up.png" : @"table_header_down.png";
            break;
        default:
            break;
    }
    [sectionButton setImage:[UIImage imageNamed:tableHeader] forState:UIControlStateNormal];
    [customView addSubview:sectionButton];

    [customView addSubview:titleLabel];

    return [customView autorelease];
}

然后我相应地将单元格加载到每个部分对应的布尔值,如果Bool 0,则行数返回0,并在Bool 1时返回计数。

答案 2 :(得分:2)

如果您是Apple开发人员,请转到WWDC视频并查看高级TableView视频。它描述了如何完全按照您的要求进行操作。

答案 3 :(得分:1)

我认为this applelink可以帮助你,这是表格视图的好例子