2011-01-24 2 views
2

У меня есть UIScrollView с pagingEnabled, чтобы страница пользователя между некоторыми изображениями. Теперь я хочу, чтобы пользователь увеличивал масштаб изображения на каждом из изображений. Как мне это сделать? Теперь у меня теперь увеличивается масштаб моего UIScrollView с самого начала, и мне нужно, чтобы он увеличивал масштаб изображения, а не отверстие UIScrollView.UIScrollView viewForZoomingInScrollView, когда pagingEnabled с несколькими UIImageViews в нем

Что я сейчас:

UIScrollView* containerView = [[UIScrollView alloc] initWithFrame:[UIScreen mainScreen].applicationFrame]; 

containerView.scrollEnabled = YES; 
containerView.pagingEnabled = YES; 

[containerView setMaximumZoomScale:2.0]; 
[containerView setDelegate:self]; 
self.view = containerView; 

UIImage *imageOne = [UIImage imageNamed:image01]; 
UIImageView *viewOne = [[UIImageView alloc] initWithImage:imageOne]; 

viewOne.frame = CGRectMake(0, 44, 320, 480); 
[containerView addSubview:viewOne]; 

UIImage *imageTwo = [UIImage imageNamed:image02]; 
UIImageView *viewTwo = [[UIImageView alloc] initWithImage:imageTwo]; 
viewTwo.frame = CGRectMake(320, 44, 320, 480); 
[containerView addSubview:viewTwo]; 

UIImage *imageThree = [UIImage imageNamed:image03]; 
UIImageView *viewThree = [[UIImageView alloc] initWithImage:imageThree]; 
viewThree.frame = CGRectMake(640, 44, 320, 480); 
[containerView addSubview:viewThree]; 

- (UIView *) viewForZoomingInScrollView:(UIScrollView *)containerView 
{ 
    return containerView; 
} 

Заранее спасибо

ответ

2

Вы должны возвратить представление, содержащееся в ваших приборах типа СПИРАЛЬНОГО. Как у вас есть 3 UIImage, попробуйте с этим ...

В .h

UIView *auxView; 

В ом

... 
[auxView addSubview:imageOne]; 
[auxView addSubview:imageTwo]; 
[auxView addSubview:imageThree]; 

[containerView addSubview:auxView]; 
} 

-(UIView *)viewForZoomingInScrollView:(UIScrollView *)containerView{ 
return auxView; } 

Я надеюсь, что это поможет вам

0

Я думаю, что вы имеете в виду вас хотите увеличить каждый UIImageView отдельно, не так ли?

Я боролся с этой проблемой много недель, затем я решил написать класс, чтобы решить эту проблему.
Вот мой GitHub репо этого класса: https://github.com/windmemory/PhotoCollectionView

Мое решение этой проблемы заключается в создании единого UIScrollView содержать каждый UIImageView, а затем добавить эти UIScrollView к containerView.

Если мы добавим все UIImageView к единому мнению, то сделать это масштабируемым, когда мы увеличить одну фотографии, все эти фотографии будут увеличены, то contentSize изменится соответствующим образом. Как только contentSize будет изменен, он испортит всю страницу поискового вызова. Поэтому наилучшим образом я использовал UIScrollView, чтобы содержать UIImageView, а затем помещал каждый UIScrollView в containerView, это позволит вам увеличивать каждую фотографию отдельно, что не испортит всю созданную вами страничную страничку.

Надеюсь, это может вам помочь.

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