Я пытаюсь установить «UIActivityIndicatorView» в качестве вспомогательного элемента в одном из моих «UITableViewCell», таким образом, как активирует анимацию ActivityIndicator, когда пользователь коснется этой ячейки. Добавить следующий код в методе «didSelectRowAtIndexPath»:UIActivityIndicatorView не смотрит
UITableViewCell * cell = [tableView cellForRowAtIndexPath:indexPath];
UIActivityIndicatorView * activity = [[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
NSThread * newThread1 = [[NSThread alloc]initWithTarget:self selector:@selector(carregarNoticias) object:nil];
switch (indexPath.row) {
case 0:
cell.accessoryView = activity;
[activity startAnimating];
sleep(0.01);
[newThread1 start];
while (![newThread1 isFinished]) {
//waiting for thread
}
[activity stopAnimating];
[self.navigationController pushViewController:noticias animated:YES];
break;
Я ожидал анимировать «UIActivityIndicatorView» в то время как newthread1 работает. Тем не менее, анимация начинается только тогда, когда заканчивается новыйThread1 (и поэтому я больше не хочу анимацию). Я добавил 0.01 секунды в качестве времени сна, чтобы дать время для начала анимации. Тем не менее, это также не решило.
Кто-нибудь знает, что моя ошибка? Я ценю любую помощь!
** Никогда ** блокируйте основную резьбу. – rmaddy
Я также попытался начать анимацию с помощью третьего потока, чтобы не блокировать основной поток, но работал ... – user3435595