Я разрабатываю приложение для iPhone, которое размещает несколько настраиваемых UIView в качестве подпредставлений в UIScrollView. Подвиды размещаются друг над другом как прозрачные виды, поскольку каждый вид имеет свои собственные процедуры рисования, которые отслеживают части базового вида. Базовое представление - это UIImageView, который обычно представляет собой большое изображение, которое я хочу, чтобы пользователь мог панорамировать, увеличивать и уменьшать масштаб.
Проблема, с которой я столкнулся, заключается в том, что когда я увеличиваю и уменьшаю масштаб своего UIScrollView, подвиды не перерисовываются, пока пользователь увеличивает масштаб. Я могу правильно изменить положение и масштабирование подвидов после завершения масштабирования, но пользовательский опыт менее чем желателен. Мне не удалось найти способ скрыть или перерисовать подвиды, поскольку происходит масштабирование для масштабирования подвидов вместе с ImageView.
Любые идеи?
Благодарность!
Вот код, который я реализовал:
- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(float)scale {
for (UIView *view in subViews)
{
[view updateView:scale];
}
}
- (UIView *)viewForZoomingInScrollView:(UIScrollView *) scrollView {
return imageView;
}