Итак, у меня есть эта строка кода:
[tableView setContentOffset:point animated:YES];
и я хочу запустить еще один фрагмент кода после окончания анимации. Моя попытка была бросить анимационный код (setContentOffset) в отдельный метод и вызвать его, используя:
[self performSelectorOnMainThread:@selector(scrollMethod:) withObject:sender waitUntilDone:YES];
Проблема заключается в том, что метод возвращается немедленно, а не после завершения анимации, хотя waitUntilDone - это ДА, но, по-видимому, это то, как работает анимация.
Я знаю, что я могу использовать поток ожидания, но он не чист, поэтому я буду использовать его только в качестве последнего средства. (Может быть, я буду использовать это, если я знаю время, в которое требуется анимация прокрутки).
Любые идеи о том, как это сделать, приветствуются.
(PS). Сценарий таков: я показываю popover, который отлично отображается, когда нет клавиатуры, однако, если клавиатура видна, высота посева уменьшается, что иногда уменьшает ее до почти границы. показывая popover, я хочу прокрутить представление вверх так, чтобы popover никогда не появлялся на клавиатуре.)