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