自定义 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 在单击时调整大小