gpt4 book ai didi

ios - 在具有许多其他 View 的自定义 UITableViewCell 中为 UIButton 设置操作

转载 作者:行者123 更新时间:2023-12-01 20:09:44 25 4
gpt4 key购买 nike

我阅读了以下帖子:

How to set Action for UIButton in UITableViewCell

Add an action to a custom UITableViewCell

但是所有的解决方案都不适合我。我不确定我错过了什么;
我有一个定制的UITableViewCell它位于 xib 文件中,此单元格包含 UIImageView , UILabel , 一个 UIButton .我希望当用户单击 UIButton 时,它会从列表中删除当前项目,当用户选择行时,它将导航到另一个页面。

我做了什么:根据上面提出的问题,我创建了一个 UIButton并添加目标,然后将按钮添加到带有[cell.contentview addsubview:button]的单元格中,可以触发按钮 Action 。

还有一些其他的 View ,我希望在xib中布局,然后不需要用代码布局。

所以我在xib中创建了一个按钮,并为此按钮(我自定义的单元格类中的导出)调用setTarget,无法触发按钮 Action 。

然后我添加一个 UIview在 xib 作为占位符,并使用代码创建一个新按钮并将按钮添加到占位符 UIview , 按钮 Action 不能被触发。

因此,使其工作的方法似乎必须是:

  • 用代码创建一个按钮;
  • 添加目标,然后将此按钮直接添加到单元格的内容 View 中;

  • 这似乎很烦人,因为我不想用代码布局 View 。我错过了什么吗?

    最佳答案

    首先在contentView中添加一个按钮的 UITableViewCellxib文件并在 customCell 中创建 socket .之后更改您的代码 cellForRowAtIndex像这样。

    [cell.btn addTarget:self action:@selector(btnTap:) forControlEvents:UIControlEventTouchUpInside];

    之后创建 btnTap方法
    - (void)btnTap:(UIButton*)sender {
    CustomCell *cell = (CustomCell*) [[sender superview] superview]; //If you have button inside another view you need to add superView on your hierarchy basis.
    NSIndexPath *indexPath = [self.tblFile indexPathForCell:cell];
    NSLog(@"Row you want to delete - %d",indexPath.row);
    }

    希望这会帮助你。

    关于ios - 在具有许多其他 View 的自定义 UITableViewCell 中为 UIButton 设置操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38006547/

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