当前位置: 首页 > 面试题库 >

表格视图单元格中的UIButton操作

赵同
2023-03-14
问题内容

我正在尝试为在表格视图单元格中按下的按钮运行一个动作。下面的代码在我的表视图控制器类中。

在我的UITableViewCell类的称为requestCell的插座中,该按钮已被描述为“是”。

我正在使用“解析”来保存数据,并且想在按下按钮时更新对象。我的objectIds数组可以正常工作,cell.yes.tag还会在日志中输出正确的数字,但是,为了正常运行查询,我无法将该数字输入“连接”函数中。

我需要一种获取单元格的indexPath.row的方法,以找到正确的objectId。

    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as requestsCell

    // Configure the cell...

    cell.name.text = requested[indexPath.row]

    imageFiles[indexPath.row].getDataInBackgroundWithBlock{
        (imageData: NSData!, error: NSError!) -> Void in

        if error == nil {

            let image = UIImage(data: imageData)

            cell.userImage.image = image
        }else{
            println("not working")
        }    
    }

    cell.yes.tag = indexPath.row
    cell.yes.targetForAction("connected", withSender: self)

    println(cell.yes.tag)

    return cell
}


func connected(sender: UIButton!) {

    var query = PFQuery(className:"Contacts")
    query.getObjectInBackgroundWithId(objectIDs[sender.tag]) {
        (gameScore: PFObject!, error: NSError!) -> Void in
        if error != nil {
            NSLog("%@", error)
        } else {
            gameScore["connected"] = "yes"
            gameScore.save()
        }
    }

}

问题答案:

Swift 4和Swift 5:

您需要为该按钮添加目标。

myButton.addTarget(self, action: #selector(connected(sender:)), for: .touchUpInside)

当然,由于您正在使用它,因此您需要设置该按钮的标签。

myButton.tag = indexPath.row

您可以通过对UITableViewCell进行子类化来实现。在界面生成器中使用它,在该单元格上放置一个按钮,通过插座连接它,然后就可以了。

要在连接的功能中获取标签

@objc func connected(sender: UIButton){
    let buttonTag = sender.tag
}


 类似资料:
  • 我希望我的swift代码在每次按下按钮时都添加一个新的tableview单元格。你可以在下面的gif中看到我想要的东西。这段代码应该在func-tableView(_tableView:UITableView,cellForRowAt-indexPath:indexPath)中添加按钮- 在此输入图像描述

  • 问题内容: 我试图让表单元格在创建新行时显示字符串。但是所有行都是空的。有人知道我在做什么错吗?这是主要的类:包应用程序; 这是正常的并且可以正常工作,所以我认为您不必为此担心。 这是控制器类。我认为问题可能出在哪里。 这也是tableviewer所需的表类 你们知道什么地方可能出错,或者建议我如何只添加tableviewer,使其代码仍可与SceneBuilder中的其余fxml文件一起使用?

  • 我有一个带有表视图的Xib(我使用的是Xib而不是常规的故事板,因为我将Xib插入到UIPageView控制器中)。在 Xib 的类中,我注册了一个自定义表视图单元格。尽管单元格插入到表视图中,但它不会根据其约束正确调整大小,也不会更改表视图的显示。 这是我在视图控制器中的设置代码,它具有表视图xib:类 当我运行应用程序时,它看起来像这样: 所以基本上,自定义单元格是从xib文件添加到表格视图中

  • 如何自我调整uItableview单元格元素。 自动调整UITableViewCell大小。

  • 晚上好, 我有以下设计: < li >红框:是表格行 < li>orane box:是一个集合视图 < li >蓝框:是一个采集单元 当集合视图为空时,我希望该行或集合视图自动调整为0。 目前我得到了这个: 所以当没有蓝色框时,我想让橙色框自动调整为高度= 0。 我知道我应该使用collectionView高度的约束,并在为空时设置为0。 但是我在表格单元格中有出口,在视图控制器中有集合委托。我不