UITableView选择逐渐消失

时间:2010-09-16 08:57:16

标签: iphone iphone-sdk-3.0

如果出现淡入淡出效果,我怎么能给它一个tableView单元格背景颜色。我知道如何在表格视图出现时选择一个单元格但颜色仍然存在。我希望它留在那里一段时间(2秒或其他),然后逐渐消失。

有人说我应该使用[tableView performSelector],所以我写了这个:

-(void) viewdidLoad {
    [tableView performSelector:@(highlight) withObject:nil afterDelay:2];
}

-(void) highlight
{
//I have a row selected as soon as my view appears

    -[tableView deselectRowAtIndexPath:[tableView indexPathForSelectedRow] animated:YES];
}

但是当我使用它时,我的应用程序崩溃了。我认为崩溃与“withObject”属性有关。

任何人都可以帮我吗?

2 个答案:

答案 0 :(得分:4)

-(void)viewDidAppear:(BOOL)animated {
    [self performSelector:@selector(highlight) withObject:nil afterDelay:5];
    [super viewDidAppear:animated];
}
-(void)highlight{
   [tableView deselectRowAtIndexPath:[tableView indexPathForSelectedRow] animated:YES];
}

这对我有用,我想你可能错过了performSelector中的@selector()。请注意延迟,因为在Apples UI准则中不推荐在导航回视图后保持选择表格单元格(据我所知)。

答案 1 :(得分:1)

- highlight方法属于您的控制器对象,而不属于表视图。如果您在第二行中将tableView更改为self,则应该会停止应用程序崩溃。