Ios 点击单元格内的按钮时如何显示更改?

Ios 点击单元格内的按钮时如何显示更改?,ios,swift,uibutton,uitableview,Ios,Swift,Uibutton,Uitableview,我正在使用带有自定义单元格的表视图。在这个定制的牢房里,我有一个类似的按钮。 当我点击这个按钮时,我想让这个变彩色。我想知道如何给这个按钮上色,但我需要重新加载数据,以便用颜色显示它。但当我调用“table.reloadData()”时,会自动出现一点滚动视图拉伸。 有一种方法可以在不重新加载数据的情况下显示更改()或禁用scrollView拉伸功能?是否尝试只重新加载单击的行 tableView.reloadRowsAtIndexPaths([indexPath], withRowAnimat

我正在使用带有自定义单元格的表视图。在这个定制的牢房里,我有一个类似的按钮。 当我点击这个按钮时,我想让这个变彩色。我想知道如何给这个按钮上色,但我需要重新加载数据,以便用颜色显示它。但当我调用“table.reloadData()”时,会自动出现一点滚动视图拉伸。
有一种方法可以在不重新加载数据的情况下显示更改()或禁用scrollView拉伸功能?

是否尝试只重新加载单击的行

tableView.reloadRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.Top
不过,对于某些事情,您根本不需要重新加载。如果你只想改变单元格的背景颜色,你可以这样做。现在,我注意到您正在使用
Objective-C
,我的示例是
Swift
——希望它仍然足够清晰:-)

首先定义一个自定义单元格-我的单元格很简单,只有一个标签和一个按钮,你已经有了类似的东西。我不确定您是否需要更改电池或按钮的颜色,因此我已同时更改了这两种颜色

import UIKit

class myCell: UITableViewCell
{
    @IBOutlet weak var labelTitle: UILabel!
    @IBOutlet weak var cmdButton: UIButton!

    @IBAction func cmdButtonClicked(sender: AnyObject)
    {
        self.backgroundColor = UIColor.redColor()
        cmdButton.backgroundColor = UIColor.blueColor()

        print("click \(sender.tag)")
    }
}
如果您确实需要跟踪单击了哪个按钮,则需要在
cellforrowatinexpath
中设置标记,但您甚至可能不需要这样做

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{
    var cell:myCell = tableView.dequeueReusableCellWithIdentifier("Cell") as! myCell

    cell.labelTitle.text = data[indexPath.row]
    cell.cmdButton.tag = indexPath.row

    return cell
}

真奇怪。你确定你有正确的
索引XPath
?如果您对单元格中的按钮按下做出反应,那么您不会从
indepath
开始-您需要通过
标记
属性以某种方式从按钮中获取它?如果您硬编码一个indexPath,这样无论您按下什么按钮,它都会更新一个特定的行,只是为了看看它是如何工作的?