如何将特定的表格单元格添加到表格视图中?

simon_smiley

我已经看过stackoverflow,似乎有一些问题似乎无济于事,但没有一个能真正回答它。

我找到的最接近的问题是这里的问题但这不是我追求的问题。

我有一个表格视图,其中充满了表格视图单元格(我们称它们为A单元格)。当我单击其中一个单元格时,我想在其下插入另一个自定义tableview单元格(B单元格)。

我一直以来的其他答案都是隐藏和显示单元格,但我希望能够多次单击以继续添加更多这些自定义单元格。

这是我目前正在使用的:

-(id) initWithGuestNumber: (NSInteger *) numberOfPeople {
    self = [super initWithNibName:Nil bundle:Nil];
    if (self) {

        numberOfGuests = * numberOfPeople;
        guestArray = [NSMutableArray new];

        for (NSInteger i = 1; i <= numberOfGuests; i++) {

            BGuest * guest = [BGuest alloc];
            NSMutableArray * array = [NSMutableArray new];

            // Set up guest object
            guest.name = [NSString stringWithFormat:@"Person %li", (long)i];
            guest.mealArray = array;
            guest.priceArray = array;
            guest.cost = 0;

            [guestArray addObject:guest];
        }
    }
     return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];

    // Set up custom tableview cells
    [self.tableView registerNib:[UINib nibWithNibName:@"BHeaderCell" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:@"HeaderCell"];
    [self.tableView registerNib:[UINib nibWithNibName:@"BContentCell" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:@"ContentCell"];
}

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView_
{
    // Want a section for each guest
    return guestArray.count;
} 

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    BGuest * guest = guestArray[section];
    // Want a row in the section for each meal added to each guest - by clicking the row
    return guest.mealArray.count + 1;
}

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    BHeaderCell * headerCell = [tableView dequeueReusableCellWithIdentifier:@"HeaderCell"];
    BContentCell * contentCell = [tableView dequeueReusableCellWithIdentifier:@"ContentCell"];

    // Setting the delegate programatically to set the textfield


    BGuest * guest = guestArray[indexPath.section];

    if (indexPath.row == 0) {

        headerCell.guestNameTextField.delegate = headerCell;
        headerCell.guestNameTextField.placeholder = guest.name;
        headerCell.guestMealPriceLabel.text = [NSString stringWithFormat:@"£%.2f", guest.cost];
}
    else {

        contentCell.mealNameTextField.delegate = contentCell;
        contentCell.mealCostTextField.delegate = contentCell;

        contentCell.mealNameTextField.text = @"Meal Name";
        contentCell.mealCostTextField.text = @"Meal Cost";
    }

    return headerCell;
}

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    BGuest * guest = guestArray[indexPath.section];

    NSString * first = @"first";
    [guest.mealArray addObject:first];

    [self.tableView insertRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:indexPath.row + 1 inSection:indexPath.section]] withRowAnimation:UITableViewRowAnimationFade];

    [tableView deselectRowAtIndexPath:indexPath animated:YES];
}

因此,当前,当我单击一行时,会在下面添加新行,但这是与单击的行相同的自定义单元格(单击一个A单元会在下面添加另一个A单元)。

我想要的是单击该行时在其下方插入一个新的自定义单元格(单击一个A单元格,然后在其下方插入一个B单元格)。

有没有办法使用insertrowatindexpath做到这一点,还是有更好/不同的方式?

谢谢你们的帮助和帮助

simon_smiley

当我单击发布问题时,它突然突然出现在我面前。

当前,在我的代码中,我总是返回headerCell(一个单元格)

我在cellForRowAtIndex中稍微切换了一下代码,它开始起作用:

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{

    // Setting the delegate programatically to set the textfield


    BGuest * guest = guestArray[indexPath.section];

    if (indexPath.row == 0) {

        BHeaderCell * headerCell = [tableView dequeueReusableCellWithIdentifier:@"HeaderCell"];

        headerCell.guestNameTextField.delegate = headerCell;

        headerCell.guestNameTextField.placeholder = guest.name;

        headerCell.guestMealPriceLabel.text = [NSString stringWithFormat:@"£%.2f", guest.cost];

        return headerCell;
    }
    else {

        BContentCell * contentCell = [tableView dequeueReusableCellWithIdentifier:@"ContentCell"];

        //contentCell.mealNameTextField.delegate = contentCell;
        //contentCell.mealCostTextField.delegate = contentCell;

        contentCell.mealNameTextField.text = @"Yeah";
        contentCell.mealCostTextField.text = @"£1.50";

        return contentCell;
    }
}

希望这可以节省人们将来花在我身上的时间

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将当前时间添加到表格视图单元格中的标签 swift 3

来自分类Dev

如何将富文本框(HTML)添加到表格单元格?

来自分类Dev

如何将弹出框添加到表格单元格?

来自分类Dev

设置添加到表格视图中单元格的图像的大小

来自分类Dev

使用堆栈视图将图像添加到表格视图单元格问题

来自分类Dev

(CSS/Bootstrap 4) 将单元格添加到特定表格列

来自分类Dev

如何使用按钮将单元格动态添加到我的表视图中

来自分类Dev

如何将联系人姓名添加到表视图单元格?

来自分类Dev

如何将UITapGestureRecognizer添加到表视图单元格中的UILabel?斯威夫特2

来自分类Dev

如何将单元格添加到uitableview

来自分类Dev

在动态表格视图中添加静态单元格

来自分类Dev

如何将数据添加到列中特定范围的单元格

来自分类Dev

使用Apps脚本将文本和图像添加到Google Doc中表格的特定单元格

来自分类Dev

如何将图像文件添加到表格单元格,其中这两个元素都是使用 JS 动态创建的?

来自分类Dev

表格视图中重叠的单元格

来自分类Dev

动态将colspan和/或rowpans添加到表格单元格

来自分类Dev

将背景图像添加到单个表格单元格

来自分类Dev

Google表格将HTML标签添加到单元格中的数字

来自分类Dev

是否可以自动将新表格中的单元格添加到Excel中的公式?

来自分类Dev

将表格单元格添加到inhiret UITableViewController的类中

来自分类Dev

使用 foreach 将单元格垂直添加到表格中

来自分类Dev

为什么在添加单元格时表格视图中的单元格会调整大小?

来自分类Dev

将图像添加到左侧的表格视图中

来自分类Dev

将单元格放在表格视图的特定部分

来自分类Dev

如何快速将图像添加到表格单元格?

来自分类Dev

如何在此代码中将点击事件添加到表格单元格?

来自分类Dev

如何在此代码中将点击事件添加到表格单元格?

来自分类Dev

如何将表格单元格居中,单元格比其余单元格少?

来自分类Dev

如何将表格透视表以匹配长度分隔的单元格上的视图

Related 相关文章

  1. 1

    如何将当前时间添加到表格视图单元格中的标签 swift 3

  2. 2

    如何将富文本框(HTML)添加到表格单元格?

  3. 3

    如何将弹出框添加到表格单元格?

  4. 4

    设置添加到表格视图中单元格的图像的大小

  5. 5

    使用堆栈视图将图像添加到表格视图单元格问题

  6. 6

    (CSS/Bootstrap 4) 将单元格添加到特定表格列

  7. 7

    如何使用按钮将单元格动态添加到我的表视图中

  8. 8

    如何将联系人姓名添加到表视图单元格?

  9. 9

    如何将UITapGestureRecognizer添加到表视图单元格中的UILabel?斯威夫特2

  10. 10

    如何将单元格添加到uitableview

  11. 11

    在动态表格视图中添加静态单元格

  12. 12

    如何将数据添加到列中特定范围的单元格

  13. 13

    使用Apps脚本将文本和图像添加到Google Doc中表格的特定单元格

  14. 14

    如何将图像文件添加到表格单元格,其中这两个元素都是使用 JS 动态创建的?

  15. 15

    表格视图中重叠的单元格

  16. 16

    动态将colspan和/或rowpans添加到表格单元格

  17. 17

    将背景图像添加到单个表格单元格

  18. 18

    Google表格将HTML标签添加到单元格中的数字

  19. 19

    是否可以自动将新表格中的单元格添加到Excel中的公式?

  20. 20

    将表格单元格添加到inhiret UITableViewController的类中

  21. 21

    使用 foreach 将单元格垂直添加到表格中

  22. 22

    为什么在添加单元格时表格视图中的单元格会调整大小?

  23. 23

    将图像添加到左侧的表格视图中

  24. 24

    将单元格放在表格视图的特定部分

  25. 25

    如何快速将图像添加到表格单元格?

  26. 26

    如何在此代码中将点击事件添加到表格单元格?

  27. 27

    如何在此代码中将点击事件添加到表格单元格?

  28. 28

    如何将表格单元格居中,单元格比其余单元格少?

  29. 29

    如何将表格透视表以匹配长度分隔的单元格上的视图

热门标签

归档