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