猿问

在UITableViewCell中单击获取按钮

在UITableViewCell中单击获取按钮

我有一个视图控制器,具有表格视图和表格单元格模板的单独笔尖。单元格模板有一些按钮。我想访问按钮单击以及在我已定义表视图的视图控制器内单击的单元格的索引。

所以,我有ViewController.hViewController.m在那里我有UITableViewTableTemplate.hTableTemplate.mTableTemplate.xib在那里我有定义的笔尖。我想要单元格索引的按钮单击事件ViewController.m

有什么帮助,我该怎么办?


偶然的你
浏览 596回答 3
3回答

慕斯王

1)在您的cellForRowAtIndexPath:方法中,将按钮标记指定为索引:cell.yourbutton.tag = indexPath.row;2)为按钮添加目标和操作,如下所示:[cell.yourbutton addTarget:self action:@selector(yourButtonClicked:) forControlEvents:UIControlEventTouchUpInside];3)基于索引的代码操作如下ViewControler:-(void)yourButtonClicked:(UIButton*)sender{      if (sender.tag == 0)       {          // Your code here      }}多个部分的更新:您可以检查此链接以检测表格视图中的按钮单击多行和部分。

胡子哥哥

我采取了不同的方法,而不是玩标签。为我的UITableViewCell子类(OptionButtonsCell)制作了委托,并添加了一个indexPath var。从我在故事板中的按钮,我将@IBAction连接到OptionButtonsCell,然后我向任何感兴趣的人发送带有正确indexPath的委托方法。在索引路径的单元格中我设置当前indexPath并且它工作:)让代码说明一切:Swift 3 Xcode 8OptionButtonsTableViewCell.swiftimport UIKitprotocol OptionButtonsDelegate{     func closeFriendsTapped(at index:IndexPath)}class OptionButtonsTableViewCell: UITableViewCell {     var delegate:OptionButtonsDelegate!     @IBOutlet weak var closeFriendsBtn: UIButton!     var indexPath:IndexPath!     @IBAction func closeFriendsAction(_ sender: UIButton) {         self.delegate?.closeFriendsTapped(at: indexPath)     }}MyTableViewController.swiftclass MyTableViewController: UIViewController, UITableViewDelegate, UITableViewDataSource, OptionButtonsDelegate {...func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {     let cell = tableView.dequeueReusableCell(withIdentifier: "optionCell") as! OptionButtonsTableViewCell     cell.delegate = self     cell.indexPath = indexPath    return cell    }func closeFriendsTapped(at index: IndexPath) {      print("button tapped at index:\(index)")}
随时随地看视频慕课网APP

相关分类

iOS
我要回答