如果出现淡入淡出效果,我怎么能给它一个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”属性有关。
任何人都可以帮我吗?
答案 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
,则应该会停止应用程序崩溃。