Большая часть примера кода в сети предполагает, что ваш UIScrollView будет полноэкранным.
Я пытаюсь создать UIScrollView только с UIImageView внутри, и просто хочу иметь возможность масштабирования, как это обычно бывает. Мой UIScrollView заполняет только часть экрана, поэтому я не могу просто использовать авторазмер, чтобы сохранить его в нужном размере, как это делают примеры приложений.
Самое близкое, что у меня есть, это добавить это в UIScrollViewDelegate:
- (void)scrollViewDidZoom:(UIScrollView *)scrollView {
CGPoint cOffset = imageScrollView.contentOffset;
float cScale = imageScrollView.contentScaleFactor;
CGRect imageFrame = ptImage.frame;
float scale = scrollView.zoomScale;
imageFrame.size.width *= scale;
imageFrame.size.height *= scale;
ptImage.frame = imageFrame;
scrollView.zoomScale = 1.0;
scrollView.frame = CGRectMake(0.0, 0.0, scrollContainerView.frame.size.width, scrollContainerView.frame.size.height);
scrollView.bounds = CGRectMake(cOffset.x * cScale * scale , cOffset.y * cScale * scale, scrollView.bounds.size.width, scrollView.bounds.size.height);
scrollView.contentSize = imageFrame.size;
}
Единственная проблема здесь в том, что смещение границ (scrollView.bounds = ...) является неправильным.
Конечно, это намного проще, чем я сделал здесь?
Любая помощь?