捏缩放到UITableViewCell内的UIImageView

时间:2015-02-25 17:53:57

标签: uitableview uiscrollview zoom pinchzoom tableviewcell

我正在创建一个tableview,我将在UITableViewCell中有一个UIImageView,我想让用户放大。我已经能够在UIScrollView内创建此效果,但一直在努力使其适合放大单UITableViewCell

在底部,我已经为UIScrollView添加了适用于我的代码。挑战始于为viewForZoomingInScrollView返回的内容。如果我尝试从单元格中给出此方法UIImageView它会引发错误,因为在加载表之前调用viewForZoomingInScrollView会导致找不到我引用的单元格。如果我传递整个视图本身self.view我可以滚动但整个tableview被缩放(我想在这里放大单元格中的UIImageView)当我发布缩放时我得到一个错误{ {1}}这显然不是正确的道路。

这里的任何帮助或指导将不胜感激。

Terminating app due to uncaught exception 'CALayerInvalidGeometry', reason: 'CALayer bounds contains NaN: [nan nan; 375 667]

}

1 个答案:

答案 0 :(得分:1)

听起来好像你想要像Facebook或Twitter那样的东西,你可以点击图像并缩放以适应屏幕。

您需要做的是将其视为导航步骤 - 即在概念上类似于在标准表视图中选择行并将新视图控制器推送到导航控制器堆栈时所发生的情况,除了您可能想要使用自定义转换以模态方式呈现。

在简单的情况下,这意味着向单元格的图像视图添加轻击手势识别器;为了获得完整的效果,您可以添加一个捏合手势识别器来进行交互式过渡。

我建议观看以下WWDC视频:

  • 2013 Session 218“使用View Controllers进行自定义转换”
  • 2014 Session 214“在iOS 8中查看控制器进步”
  • 2014 Session 228“A Inside Inside Presentation Controllers”