Привет всем, мне нужно добавить увеличение в uiscrollview, содержащее несколько изображений uiimageviews. Вот мой код, как я делаю это, но он не работает должным образомUIscrollview, если изображения видят, как добавить увеличение?
- (void)setupPage
{
scrollView.delegate = self;
[self.scrollView setBackgroundColor:[UIColor blackColor]];
[scrollView setCanCancelContentTouches:NO];
scrollView.indicatorStyle = UIScrollViewIndicatorStyleWhite;
scrollView.clipsToBounds = YES;
scrollView.scrollEnabled = YES;
scrollView.pagingEnabled = YES;
NSUInteger nimages = 0;
CGFloat cx = 0;
for (; ; nimages++) {
//Maquette final_Print 2.png
NSString *imageName = [NSString stringWithFormat:@"rint %d.png", (nimages + 1)];
UIImage *image = [UIImage imageNamed:imageName];
if (image == nil) {
break;
}
imageView = [[UIImageView alloc] initWithImage:image];
[imageView setContentMode:UIViewContentModeScaleToFill];
CGRect rect = imageView.frame;
rect.size.height = 1004;
rect.size.width = 768;
rect.origin.x = ((scrollView.frame.size.width - 768)/2) + cx;
rect.origin.y = ((scrollView.frame.size.height - 1004)/2);
imageView.frame = rect;
[scrollView addSubview:imageView];
[imageView release];
cx += scrollView.frame.size.width;
}
[scrollView setContentSize:CGSizeMake(cx, 1004)];
scrollView.minimumZoomScale = scrollView.frame.size.width/768;
scrollView.maximumZoomScale = 2.0;
[scrollView setZoomScale:scrollView.minimumZoomScale];
}
// Код для обработки масштабированием:
#pragma mark -
#pragma mark UIScrollView ZOOM
//- (void)scrollViewDidZoom:(UIScrollView *)scrollView {
// imageView.frame = [self centeredFrameForScrollView:scrollView andUIView:imageView];;
//}
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
return imageView;
}
- (CGRect)centeredFrameForScrollView:(UIScrollView *)scroll andUIView:(UIView *)rView {
CGSize boundsSize = scroll.bounds.size;
CGRect frameToCenter = rView.frame;
// center horizontally
if (frameToCenter.size.width < boundsSize.width) {
frameToCenter.origin.x = (boundsSize.width - frameToCenter.size.width)/2;
}
else {
frameToCenter.origin.x = 0;
}
// center vertically
if (frameToCenter.size.height < boundsSize.height) {
frameToCenter.origin.y = (boundsSize.height - frameToCenter.size.height)/2;
}
else {
frameToCenter.origin.y = 0;
}
return frameToCenter;
}
Когда я пытаюсь увеличить ее не работает, как ожидалось. А также я не могу проведите пальцем влево или вправо ...
1. Я добавляю его здесь \t \t imageView = [[UIImageView alloc] initWithImage: image]; \t \t [imageView setContentMode: UIViewContentModeScaleToFill]; \t \t CGRect rect = imageView.frame; \t \t rect.size.height = 1004; \t \t rect.size.width = 768; \t \t rect.origin.x = ((scrollView.frame.size.width - 768)/2) + cx; \t \t rect.origin.y = ((scrollView.frame.size.height - 1004)/2); \t \t imageView.frame = rect; \t \t [scrollView addSubview: imageView]; – veereev
2. scrollView.minimumZoomScale = scrollView.frame.size.width/imageView.frame.size.width; scrollView.maximumZoomScale = 2.0; [scrollView setZoomScale: scrollView.minimumZoomScale]; – veereev
3. Делегат: UIViewController –
veereev