使用UIScrollView以编程方式放大到较大图片的较小区域

我试图让我的代码以编程方式放大到较大的图片的一个小区域。 稍后我会添加tap代码,但现在我只想看看它的工作。

在这个代码中的zoomToRect完全没有,我只是不明白为什么。 当我build立它时,图像就坐落在0,0原点。

我试过使用:

setContentOffset和scrollRectToVisible,这两个工作正常 – 图像移动到指定的坐标。 但这些都不是我想要的,因为我需要移动和缩放图像,而不是移动它。

但zoomToRect完全拒绝做任何事情。 我已经阅读了大约50页的例子和教程现在,而不是一个该死的东西的作品。 我不知道为什么,我把头发撕掉了。 显然我错过了一些非常重要的基本点。

UIImage *myFirstImage = [UIImage imageNamed:@"manga_page.jpg"]; UIImageView *myFirstImageView = [[UIImageView alloc] initWithImage:myFirstImage]; [myFirstImageView setFrame:CGRectMake(0, 0, myFirstImage.size.width, myFirstImage.size.height)]; UIScrollView *myFirstScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)]; [myFirstScrollView setContentSize:CGSizeMake(myFirstImage.size.width, myFirstImage.size.height)]; [myFirstScrollView addSubview:myFirstImageView]; [self.view addSubview:myFirstScrollView]; [myFirstScrollView zoomToRect:CGRectMake(300, 300, 300, 300) animated:YES]; 

问题是,我没有定义的缩放代表 – 请参阅viewForZoomingInScrollView(页面底部)在这里:

https://developer.apple.com/library/ios/documentation/uikit/reference/uiscrollviewdelegate_protocol/Reference/UIScrollViewDelegate.html#//apple_ref/occ/intfm/UIScrollViewDelegate/viewForZoomingInScrollView

当我切换到Xamarin框架时,在Objective C中没有代码片段。 但是C#解决scheme如下:

 scrollView.ViewForZoomingInScrollView = delegate (UIScrollView sv) { return imageView; }; 

imageView是包含要滚动的图像的UIImageView。

为UIScrollView设置maximumZoomScale和minimumZoomScale属性。

我想你是在说这个链接中描述的东西: http : //www.raywenderlich.com/10518/how-to-use-uiscrollview-to-scroll-and-zoom-content

请看一看。 希望这可以帮助…