Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
关于在iPhone上更新UITableViewCell的问题_Iphone_Objective C_Cocoa_Cocoa Touch - Fatal编程技术网

关于在iPhone上更新UITableViewCell的问题

关于在iPhone上更新UITableViewCell的问题,iphone,objective-c,cocoa,cocoa-touch,Iphone,Objective C,Cocoa,Cocoa Touch,我希望做一些简单的事情,比如深入研究一个特定的UITableViewCell,这会带来一个细节视图控制器。在其中,用户可以更改单元格下模型的属性。例如,如果我正在显示一个引号列表,并且用户在子控制器中单击一个引号并对其进行收藏,那么我希望能够显示一个隐藏的图像,该图像现在已被收藏,可能是一个星星。更新某个特定UITableViewCell的最简单方法是什么?是否最好将选定的UITableViewCell引用到子控制器中,并以这种方式将其耦合?这样的事情是怎么做的 谢谢。要重新绘制特定单元格,您应

我希望做一些简单的事情,比如深入研究一个特定的UITableViewCell,这会带来一个细节视图控制器。在其中,用户可以更改单元格下模型的属性。例如,如果我正在显示一个引号列表,并且用户在子控制器中单击一个引号并对其进行收藏,那么我希望能够显示一个隐藏的图像,该图像现在已被收藏,可能是一个星星。更新某个特定UITableViewCell的最简单方法是什么?是否最好将选定的UITableViewCell引用到子控制器中,并以这种方式将其耦合?这样的事情是怎么做的


谢谢。

要重新绘制特定单元格,您应该找到它的矩形(rectForRowAtIndexPath),然后使用此矩形在UITableView上调用setNeedsDisplayInRect。

简单地更新模型对象,然后调用
[tableView reloadData]


然后更改绘图代码以说明更改并显示隐藏图像或其他内容。

有关完整的代码示例,请查看ADC上的SQLite Books项目。

setNeedsLayout
为我做了这件事。

听起来他是在尝试更改表格单元格的子视图,而不仅仅是强制重画。这是罕见的,100%的自定义绘图实际上适用于表格单元格…非常感谢,也适用于我,只是参考了单元格而不是表格视图,在用户头像图像到达后调用此方法,刷新工作完美,现在将显示图片:)