自定义 UITableViewCell 按钮单击

Posted

技术标签:

【中文标题】自定义 UITableViewCell 按钮单击【英文标题】:Custom UITableViewCell button click 【发布时间】:2014-11-04 21:29:03 【问题描述】:

在 UIViewController 中有一个 UITableView,它由带有 UIButton 的自定义 UITableViewCell 组成。

当用户单击按钮(在自定义 UITableViewCell 中)时,我想在宿主 UIViewController 中显示一条消息 - 实现该目标的正确方法是什么? 我应该如何通知 UIViewController按钮被点击了吗?

【问题讨论】:

【参考方案1】:

你应该使用委托来告诉UIViewController单元格中发生了一些事情。

【讨论】:

【参考方案2】:

我不确定您指的是哪种消息,但如果您的意思是要显示一个弹出窗口,只需创建一个 UIAlertView 并在单击单元格中的按钮时显示它。

但是,如果您的意思是更改 UIlabel 文本或作为 ViewController 上的消息的任何内容,您始终可以将需要更改的任何内容传递给 TableView 和 Cell 或 UIViewController 本身。

我通常在自定义单元格类上创建一个方法,并将我需要的任何内容传递给自定义 TableView 的构造函数。然后在 TableView 的 GetCell() 方法中,将我需要更改的任何内容传递到我在单元格上创建的方法中,并将其保存为单元格上的变量。

【讨论】:

【参考方案3】:

如果您已启动 UITableViewCell,并向单元格添加了按钮,则可以在单击按钮时使用 Delegate,如下所示:

UIButton button = new UIButton (cell.Bounds.X, cell.Bounds.y, cell.Bounds.Width, cell.Bounds.Height);
button.TouchUpInside += (object sender, EventArgs e) => 

    label.text = "Blablabla";
;

标签在哪里,由您决定。我希望这会有所帮助,祝你好运!

【讨论】:

以上是关于自定义 UITableViewCell 按钮单击的主要内容,如果未能解决你的问题,请参考以下文章

单击按钮时将默认 TableViewCell 更改为自定义子类

自定义 UITableViewCell 中的操作按钮调用的 UITableView reloadRows() 总是落后一步

UIbutton 在自定义 UITableViewCell 中释放

自定义 UITableViewCell 中的 UIImageView 在单击时调整大小

单击tableView后隐藏xib的自定义UITableViewCell

UITableVIewCell 重叠图像中的自定义按钮