2015-03-08 2 views
0

Как и многие другие, я пытаюсь реализовать поведение масштабирования с помощью UIScrollView. Я использую Auto Layout для компоновки своих подзонов.UIScrollView zoom auto

В IB я есть: ScrollView ImageView

ImageView имеет ограничения, чтобы заполнить всю Scrollview, поэтому изображение будет отображаться в его первоначальном размере от нагрузки. Это работает как шарм. Тем не менее, я не могу, для жизни меня, выяснить, как включить масштабирование. До сих пор у меня есть этот код:

[_imgViewInScroll setImage:trackImg]; 
_scrImageViewer.scrollEnabled = YES; 
_scrImageViewer.delegate = self; 
_scrImageViewer.contentSize = trackImg.size; 
_scrImageViewer.minimumZoomScale = 1; 
_scrImageViewer.maximumZoomScale = 4; 

И реализованный протокол:

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView { 
NSLog(@"Zooming"); 
return imgView; 

}

Но это не работает. Изображение отображается в полном размере, заполняя весь экран при загрузке, как ожидалось, но он просто не будет реагировать на масштабирование вообще. Оператор NSLog выполняется, поэтому он принимает запрос масштабирования, но не масштабируется.

Что я могу сделать? Заранее спасибо.

ответ

0

Я думаю, что вы возвращаете неправильное имя изображения. Замените «imgView» на «_imgViewInScroll».

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView { NSLog(@"Zooming"); return _imgViewInScroll; }

+0

О, боже, что это было! Не могу поверить, что я этого не видел, и я был там в методе отладки -.- «Спасибо большое! –

Смежные вопросы