Я работаю над приложением, которое обновляет как UITableView, так и UIScrollView. Мне нравится, как работает обновление UITableView. При добавлении, удалении или обновлении элементов я вызываю insertRowsAtIndexPaths:withRowAnimation:
, reloadRowsAtIndexPaths:withRowAnimation:
и deleteRowsAtIndexPaths:withRowAnimation:
в зависимости от ситуации. Однако обновление UIScrollView оказалось более сложной задачей.
Так как я могу это сделать? Мой UIScrollView содержит изображения, и я хочу иметь возможность вставлять, обновлять и удалять отдельные изображения - с анимацией - эффективно, плавно и, возможно, в произвольном порядке. Как можно делать такие вещи?
В качестве примера, у меня есть такой код в моей реализации UIScrollViewDelegate для добавления нового изображения:
if (newImageindex == currentImageIndex) {
[scrollView setNeedsDisplay];
[scrollView setContentOffset:portalView.contentOffset animated:YES];
} else if (newImageIndex < currentImageIndex) {
currentImageIndex++;
CGPoint offset = portalView.contentOffset;
offset.x += portalView.frame.size.width;
portalView.contentOffset = offset;
}
Я думаю, это близко, но не совсем верно. Я заканчиваю с добавлением изображений, но UIScrollView, кажется, прокручивается в положение до первого изображения в представлении. Если я начну прокручивать его вручную, появится первое изображение. Это похоже на прокрутку до позиции -1 в моих изображениях.
Пример, возможно, не поможет осветить мою проблему, но, безусловно, это общая необходимость динамической перенастройки изображений, появляющихся в UIScrollView. Каков уровень техники в этом?