Как убедиться, что пользователь видит анимацию вставки строки iOS - PullRequest
0 голосов
/ 21 октября 2011

У меня есть приложение, которое отображает информацию из нашего веб-сервиса. У пользователя есть возможность добавлять строки в табличное представление для отображения дополнительной информации. Я использую:

[self.tableView insertSections:indexSet withRowAnimation:UITableViewRowAnimationAutomatic];

чтобы вставить строку. Это дает хорошую анимацию, чтобы пользователь знал, где находится строка, которую он только что вставил. Моя проблема в том, что добавляемая строка должна быть видна, чтобы анимация была видна. Поэтому я прокручиваю вниз, чтобы была видна добавляемая строка:

[self.tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionMiddle animated:YES];

, затем запустите ASIHTTPRequest асинхронно, чтобы получить информацию для новой строки.

Если данных достаточно, анимация будет отличной. Проблема в том, что если пользователь подключен к сети Wi-Fi или не извлекает много информации, ASIHTTPRequest возвращается до завершения прокрутки, и новая строка только там (пользователь не видит, что она добавляется). Если я заставлю задержку (0,03 секунды) между вызовами для прокрутки табличного представления и запуска запроса, я получу желаемый эффект, но тогда будет больше задержки, чем необходимо для нагрузок, которые уже отображались по желанию.

Я подумал, что постараюсь сэкономить время в мс с момента прокрутки представления и завершения запроса и убедиться, что оно дольше, чем 0,03 секунды, но я продолжал получать сообщение об ошибке с

[NSDate timeIntervalSinceReferenceDate]

поэтому я решил спросить здесь, есть ли лучший способ, прежде чем я взломаю это решение больше.

Спасибо!

1 Ответ

0 голосов
/ 21 октября 2011

Вам поможет комбинация таймеров и парных флагов, а это то, что вы уже делаете.

...