Выбор UITableView исчезает - PullRequest
2 голосов
/ 16 сентября 2010

Как я могу дать цвет фона ячейки tableView эффект исчезновения, как только он появляется.Я знаю, как выбрать ячейку, когда появится табличное представление, но цвет сохраняется навсегда.Я хотел бы остаться там на некоторое время (2 секунды или что-то еще), а затем исчезнуть.

Кто-то сказал, что я должен использовать [tableView executeSelector], поэтому я написал это:

-(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 ]

4 голосов
/ 17 октября 2010
-(void)viewDidAppear:(BOOL)animated {
    [self performSelector:@selector(highlight) withObject:nil afterDelay:5];
    [super viewDidAppear:animated];
}
-(void)highlight{
   [tableView deselectRowAtIndexPath:[tableView indexPathForSelectedRow] animated:YES];
}

Это сработало для меня, я думаю, вы, возможно, пропустили @selector () в executeSelector. Будьте осторожны с задержкой, поскольку сохранение ячеек таблицы после перехода назад к представлению не рекомендуется в руководствах по пользовательскому интерфейсу Apple (насколько я помню).

1 голос
/ 16 сентября 2010

Метод - highlight принадлежит вашему объекту контроллера, а не представлению таблицы. Если вы измените значение tableView на self во второй строке, это должно остановить сбой приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...