Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios7 在方向更改后,如何在IOS 7中的自定义过渡动画期间确定视图坐标?_Ios7_Uinavigationcontroller_Uicollectionview_Orientation Changes_Custom Transition - Fatal编程技术网

Ios7 在方向更改后,如何在IOS 7中的自定义过渡动画期间确定视图坐标?

Ios7 在方向更改后,如何在IOS 7中的自定义过渡动画期间确定视图坐标?,ios7,uinavigationcontroller,uicollectionview,orientation-changes,custom-transition,Ios7,Uinavigationcontroller,Uicollectionview,Orientation Changes,Custom Transition,我的问题的简要总结: 我正在使用iOS 7中的视图控制器转换API创建自定义转换,该转换在点击时将uicollectionview中的单元格扩展为全屏视图,并在关闭时收缩回原始坐标 与照片应用程序和Facebook的功能类似 它在两个方向上都很好,只要我保持在同一方向上,呈现和忽略全屏视图 如果我在全屏视图中更改方向,然后取消它,则失败 一些细节: 我正在使用navigationController从包含collectionView的View1切换到全屏视图的View2 View1实现UINav

我的问题的简要总结:

我正在使用iOS 7中的视图控制器转换API创建自定义转换,该转换在点击时将uicollectionview中的单元格扩展为全屏视图,并在关闭时收缩回原始坐标

与照片应用程序和Facebook的功能类似

它在两个方向上都很好,只要我保持在同一方向上,呈现和忽略全屏视图

如果我在全屏视图中更改方向,然后取消它,则失败

一些细节:

我正在使用navigationController从包含collectionView的View1切换到全屏视图的View2

View1实现UINavigationControllerDelegate协议,在navigationController:animationControllerForOperation:fromViewController:toViewController:方法中,我计算操作为“推送”时动画必须从中开始的坐标同样,当操作为“Pop”时,在返回执行动画的UIViewControllerAnimatedTransitioning类之前,动画必须完成的坐标

我按以下方式计算View1坐标系中的开始帧和结束帧:

self.originatingFrame = [cell.contentView.superView convertRect:cell.contentView.frame toView:self.view];
我检索所选单元格:

        PhotoCell *cell = (PhotoCell *) [self.collectionView cellForItemAtIndexPath:selectedIndexPath];
我按以下方式将单元的框架转换为View1的坐标系:

self.originatingFrame = [cell.contentView.superView convertRect:cell.contentView.frame toView:self.view];
当在推和弹出操作之间保持旋转恒定时,此计算会返回两次相同的坐标,结果是预期的结果。动画从单元的帧开始并收缩回同一单元

但是,;在推送和弹出操作之间旋转设备时,我得到的结果不正确。Pop期间计算的坐标与推送期间的坐标完全相同。就好像View1和collectionView还没有旋转一样。因此,如果设备没有旋转,动画将在单元格所在的位置结束

如何计算选定单元格的坐标,以考虑Pop操作期间的旋转变化

谢谢