我有一个由UICollectionView处理的图像网格。我想要做的是通过放大图像转换到另一个视图控制器选择一个单元格,并让该图像占据子视图控制器中的大部分屏幕。有没有什么好方法可以创造这种行为。
感谢您的帮助!
答案 0 :(得分:2)
在子视图控制器中您可以添加滚动视图,并可以添加类似的属性。
scrollView.bouncesZoom = YES;
scrollView.delegate = self;
scrollView.clipsToBounds = YES;
添加图片视图: -
imageView = [[UIImageView alloc] initWithImage:[UIImage imgnamed:@"image01.png"]];
imageView.userIntractionEnabled = YES;
imageView.autoSizingMask = UIViewAutoresizingFlexibleWidth;
[scrollview addSubView:imageView];
计算最小比例缩放级别: -
float minimumScale = [scrollView frame].size.width / [imageView frame].size.width;
scrollView.maximumZoomScale = 3.0 // you can exeed as per your requirment
scrollView.minimumZoomScale = minimumScale;
scrollView.zoomScale = minimumScale;
希望这对你有所帮助。如果有任何疑问或问题,请在评论中提问。
答案 1 :(得分:0)
为此,我会使用自定义segue。在UICollectionView文档中,Apple建议在CollectionView中移动它时使用假单元格。 您可以使用故事板或以编程方式执行此操作。 在-prepareForSegue:方法中,将屏幕上选定单元格的图像置于单元格的中心,然后在segue中设置缩放比例。
Custom Segue指南: https://developer.apple.com/library/ios/featuredarticles/ViewControllerPGforiPhoneOS/CreatingCustomSegues/CreatingCustomSegues.html
雷的网站也是老板: http://www.raywenderlich.com/5191/beginning-storyboards-in-ios-5-part-2