2013-02-13 3 views
0

В настоящее время у меня есть пользовательский класс, который реализует UIScrollView.Масштабирование UIImage в UIScrollView

Я создал один UIImageView и добавил его в подпункт UIScrollView. Он прокручивается вертикально и горизонтально, но, похоже, игнорирует объект масштабирования. Вот мой код:

- (void) setUpBoard 
{ 
    // add board 
    UIImageView *imageHolder = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"grid.jpg"]]; 
    [self addSubview:imageHolder]; 
    self.contentSize = CGSizeMake(imageHolder.frame.size.width, imageHolder.frame.size.height); 
    self.indicatorStyle = UIScrollViewIndicatorStyleWhite; 
    self.maximumZoomScale = 5.0; 
    self.minimumZoomScale = 0.2; 
    self.zoomScale = 0.7; 
    self.clipsToBounds = YES; 
} 

Как его увеличить, используя стандартные жесты пинча? Любая помощь приветствуется. Благодаря!

ответ

0

От UIScrollView Class Reference Overview:

UIScrollView класс может иметь делегат, который должен принять протокол UIScrollViewDelegate. Для масштабирования и панорамирования для работы делегат должен реализовать как viewForZoomingInScrollView:, так и scrollViewDidEndZooming:withView:atScale:; кроме того, максимальный масштаб (maximumZoomScale) и минимальный масштаб (minimumZoomScale) должны быть разными.

Я подозреваю, что либо вы не назначили делегата в прокрутку, либо делегат не реализовал оба этих метода.

+0

Я все еще новичок и не знаю, как реализовать делегата. В моем файле заголовка, я '@interface ASScrollBoard: UIScrollView ' в моем файле реализации, я реализовал два метода 'viewForZoomingInScrollView:' и 'scrollViewDidEndZooming: withView: atScale:' для первого, Я возвращаюсь «я» как UIView. Что еще мне здесь не хватает? Благодарю. – user2056479

+0

Если вы хотите, чтобы представление прокрутки было его собственным делегатом, вам нужно установить его, выполнив 'self.delegate = self' в некотором методе инициализации (например,' setUpBoard'). Вам также нужно сохранить представление изображения в переменной экземпляра, чтобы вы могли вернуть его в 'viewForZoomingInScrollView:'. Метод 'scrollViewDidEndZooming: withView: atScale:' может быть пустым. –

+0

Большое вам спасибо! Это сработало отлично. Я очень ценю помощь. – user2056479

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