gpt4 book ai didi

ios - 当在同一个单元格内单击按钮时,如何在自定义表格 View 单元格内隐藏/显示特定 View

转载 作者:行者123 更新时间:2023-12-01 18:43:20 26 4
gpt4 key购买 nike

  • 我有一个 table view与(例如:20 行)。我使用了 custom table view cell有了这个table view .
  • 这里面table view cell , 很少labels , 一个 buttonhidden view (UIView) .
  • 我写了button action对于 hide/show hidden view里面custom table view cell class .它工作正常。但它会影响其他rows在表格 View 中。这意味着,当我点击第一行中的按钮时,隐藏 View 会显示,当 scroll down 时,它可以在表格 View 的其他行中看到.
  • 同时(当 hide/show 时),我想 increasedecrease行高(仅单击的行/单元格)。出了什么问题。下面是我的代码和一些屏幕截图,以获得一个想法。

  • this is the first row when click in expand button

    at the same time when I scroll, this is the look of other rows/cell, the show the hidden view without clicking on expand button

    注意:单击每个单元格中的展开按钮时,单元格会自行展开/增加。

    我就是这样 hideshow hidden view ,在 custom table view cell 内类(class)。
    - (IBAction)hideshow:(id)sender {
    BOOL ishidden = self.insideCollectionView.hidden;
    if(ishidden == true)
    {
    self.insideCollectionView.hidden = false;
    }
    else
    {
    self.insideCollectionView.hidden = true;
    }
    }

    出了什么问题,希望您对此有所帮助。

    Advance:如果有一种方法可以在单击每个单元格的展开按钮时同时隐藏/显示和展开单元格(增加行高),那就太好了。

    最佳答案

    我自己找到了适合的解决方案。感谢所有支持我的人。

    执行以下操作。

  • 创建 NSMutableArray持有Which buttonWhich rowclicked .
  • 然后当用户点击 ButtonCustom table view cell , 检查 index pathalreadymutable array , 如果是 already在里面,然后romove它,否则添加它。
  • 然后在cellforrowatindexpath方法,检查 nsmutable array和,检查 indexpath.row 是否是 existnot .
  • 最后,如果是exists , 不要隐藏, 否则 hide它,这完美无缺。

  • 这是表格 View 的实现。 .m文件
    - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
    {
    return 1;
    }

    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
    {
    return 25;
    }

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {
    FirstTableViewCell *cells = [tableView dequeueReusableCellWithIdentifier:@"tvcell" forIndexPath:indexPath];

    NSString *theIndexpath = [NSString stringWithFormat:@"%ld", (long)indexPath.row];

    //here check whether it is exists or not.
    if ([chekcme containsObject:theIndexpath])
    {
    cells.insideCollectionView.hidden = false;
    }
    else
    {
    cells.insideCollectionView.hidden = true;
    }



    [cells setColletionData:bbarray];

    [cells.expandMe addTarget:self action:@selector(runs:) forControlEvents:UIControlEventTouchUpInside];

    //in here set the tag of the button to indexpath.row
    cells.expandMe.tag = indexPath.row;


    return cells;
    }

    //this is the action for the button inside the custom tableview cell.
    - (IBAction)runs:(UIButton *)sender{

    NSString *myob = [NSString stringWithFormat:@"%li", (long)sender.tag];
    NSLog(@"%@",myob);

    if ([chekcme containsObject:myob]) {
    [chekcme removeObject:myob];
    }
    else
    {
    [chekcme addObject:myob];
    }


    NSLog(@"%@", chekcme);

    //keep in mind to reload the table view here.
    [self.maintableView reloadData];
    }

    note : checkme is NSMutableArray to holds the objects clicked by the user.

    关于ios - 当在同一个单元格内单击按钮时,如何在自定义表格 View 单元格内隐藏/显示特定 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39484152/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com