在UIPageViewController上缩放和平移

时间:2015-12-11 10:23:28

标签: ios objective-c uiimageview nsarray uipangesturerecognizer

我有一个简单的应用程序,其中包含一个UITableViewController,单元格为Languages。当用户点击特定语言时,会在页面视图中显示UIPageViewController水平显示,6个图像。那部分工作得很好,图像正在加载。

我已使用本教程实现了这一点:http://code.tutsplus.com/tutorials/using-scrollstyle-with-uipageviewcontroller--mobile-13551

我想在此内实现缩放和平移功能。

我使用以下代码进行缩放。

CGFloat scale = pinchRecognizer.scale;
self.pageViewController.view.transform = CGAffineTransformScale(self.pageViewController.view.transform, scale, scale);
pinchRecognizer.scale = 1.0;

问题在于缩放始终位于图像的中心,无法像在iOS设备上的普通照片中那样平移图像。

我找到了许多关于如何实现这一目标的好教程,例如http://iosdeveloperzone.com/2012/07/07/tutorial-all-about-images-part-2-panning-zooming-with-uiscrollview/。然而,我的困惑源于第一部分。

我使用UIPageViewController加载NSArray

self.modelArray = [NSMutableArray arrayWithObjects:[[ImageModel alloc] initWithImageName:@"3facts-english-page1.jpg"], [[ImageModel alloc] initWithImageName:@"3facts-english-page2.jpg"], [[ImageModel alloc] initWithImageName:@"3facts-english-page3.jpg"], nil];

如何将每张图片提取到UIImageView

我可以从根本上看到,我需要使用大部分代码来启用Pan:

UIImage* image = [UIImage imageNamed:@"KinkakuJi"];

self.imageView.image = image;
[self.imageView sizeToFit];

self.scrollView.contentSize = image.size;

但在我的情况下,我不是加载一个UIImage而是NSArray。如何从NSArray中提取UIImage以使此平移发生?

对此的任何想法都会非常感激。

0 个答案:

没有答案