UIImageView в UIScrollView не полноэкранное и масштабирование - PullRequest
0 голосов
/ 28 июля 2011

Большая часть примера кода в сети предполагает, что ваш 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 = ...) является неправильным.

Конечно, это намного проще, чем я сделал здесь?

Любая помощь?

1 Ответ

1 голос
/ 28 июля 2011

Попробуйте вернуть ваш UIImageView в:

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView

И удалите код, который вы поместили в метод didZoom, и посмотрите, работает ли он.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...