Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/119.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
Ios 高亮显示特定时间的tableviewcell_Ios_Uitableview_Highlighting - Fatal编程技术网

Ios 高亮显示特定时间的tableviewcell

Ios 高亮显示特定时间的tableviewcell,ios,uitableview,highlighting,Ios,Uitableview,Highlighting,如何仅在特定时间段高亮显示uitableviewcell而不选择它?我需要让一个单元格高亮显示3秒钟,然后它就会变暗。基本上,我正在开发一个图书类型的应用程序,其中单元格与音频同步。我已经用文本填充了tableviewcells,而且我还有使单元格高亮显示的时间 设置UITableViewCell高亮显示状态的API是setHighlighted:animated:,因此,假设您只需要简单的高亮显示,那么工作就完成了一半 使用UITableViewDelegate方法tableView:will

如何仅在特定时间段高亮显示uitableviewcell而不选择它?我需要让一个单元格高亮显示3秒钟,然后它就会变暗。基本上,我正在开发一个图书类型的应用程序,其中单元格与音频同步。我已经用文本填充了tableviewcells,而且我还有使单元格高亮显示的时间

设置
UITableViewCell
高亮显示状态的API是
setHighlighted:animated:
,因此,假设您只需要简单的高亮显示,那么工作就完成了一半

使用
UITableViewDelegate
方法
tableView:willDisplayCell:forrowatinexpath:
,通知单元格它已通过您在子类中定义的某种方法变得可见。该方法将使单元格高亮显示自身,并在您希望单元格保持高亮显示的时间内启动计时器。当计时器启动时,使单元格删除高亮显示


当然,如果单元格滚动出视图,您必须防止计时器保持活动状态,因此在
preparefore:

期间使计时器无效并重置突出显示状态。我认为您应该创建自定义UITableViewCell类。初始化单元格时,请使用具有特定时间间隔的NSTimer。创建一个自定义方法,并将其作为选择器(在自定义单元格类中)传递到下面的NSTimer方法中--

[NSTimer timerWithTimeInterval:(NSTimeInterval)秒目标:(id)目标选择器:(SEL)选择器用户信息:(id)用户信息重复:(BOOL)重复]


在选择器方法中,您可以设置tableViewCell背景颜色,使其高亮显示

你知道如何突出显示单元格吗?你知道如何解除牢房的照明吗?你知道如何使用NSTimer吗?发布你已经尝试和研究过的内容。我会说,在一定范围内选择单元格,然后取消选择。如果这变得困难,您可以始终重新加载TableView,在cellforRowAtIndexPath中添加一个布尔值,以确定单元格是否应高亮显示。。。。。。但我更喜欢前者latter@rmaddy是的,我知道如何突出显示单元格和使用计时器。但我不知道如何选择一个单元格。使用[单元格设置突出显示:是动画:是];在WillDisplay中,委托方法将使所有单元格高亮显示,但我如何选择单个单元格?请记住,我使用的是主详细视图控制器。我还创建了一个自定义单元格,在其中声明用于填充数据的单元格标签。我应该在customer cell类中声明计时器吗?如果我声明[cell setHighlighted:YES animated:YES];在willDisplayCell委托方法中,它肯定会高亮显示所有单元格。但正如您提到的,我可以在子类中声明一些方法,并使用计时器调用此方法,我不确定如何传递单个单元格参数以选择用于此目的的单个单元格?(如果我问了一个愚蠢的问题,我很抱歉,我对编程很陌生)好的。如果不希望高亮显示每个单元格的外观,则可以对单个单元格进行此操作。只需使用cellForRowAtIndexPath:当您决定需要一个与突出显示的某个索引对应的单元格时,获取单个单元格,然后将消息发送到该单元格以导致突出显示/取消突出显示。CellForRowatineXpath:可以使用(除了作为表视图要使用的方法之外)。