Какой метод вызывается, когда UIScrollView достигает своего максимума ZoomScale? - PullRequest
0 голосов
/ 23 сентября 2011

Theres широкий UIScrollView (давайте назовем его wideScroll) и внутри него, меньшие UIScrollViews (назовите их singleScrollViews).И в каждом SingleScrollView есть UIView, который содержит два разных UIImageView.

Мне нужно использовать прокручивающиеся делегаты для wideScroll и масштабирующие делегаты для singleScrollViews.

Как это сделать, я использую делегаты UIScrollView в классе wideScroll, и когда происходит событие масштабирования, я возвращаю указатель на UIView нужного singleScrollView в методе;

-(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{
    //here i determine "int someint" according to current page.
    SingleScrollView *b = (SingleScrollView *)[wideScrollView viewWithTag:someint];
    return ((UIView *)[b viewWithTag:WRAPPERVIEW_TAG]);
}

КогдаЯ делаю это, масштабирование отдельных singleScrollViews работает нормально, за исключением одной вещи: когда singleScrollView достигает своего максимума ZoomScale, масштабирование заканчивается, но перед вызовом метода scrollViewDidEndZooming последний раз вызывается scrollViewDidZoom и устанавливается смещение содержимого.UIView в (0,0), заставляя изображение прокручиваться к верхнему левому углу.

Напротив, когда я увеличиваю масштаб, не достигая MaximumZoomScale, UIView остается там, где он увеличен, не прокручивая вверх или что-либо еще.

Кроме того, метод "- (UIView *) viewForZoomingInScrollView: (UIScrollView *) scrollView" вызывается трижды, когда я достигаю MaximumZoomScale при масштабировании.

Любые идеи?

Обходной путь: я установил максимальный масштаб на 2.01 и когда singleScrollView.ZoomScale равен> 2.00, я установил его обратно в 2,00 в начале метода удаленного ScrollViewDidZoom.

1 Ответ

0 голосов
/ 23 сентября 2011

Взгляните на пример примера фотокроллера.И вам нужно реализовать viewForZooming индивидуально для каждого отдельного прокрутки.Это лучший подход к реализации. И переопределить метод layoutSubview и установить в нем центр изображения в зависимости от масштаба прокрутки

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