在iOS Facebook应用程序中,当您点击照片时,照片会占据整个屏幕,然后您可以向上或向下拉动照片以
关闭视图.拉动照片可以让您看到下方的屏幕.
我很好奇实现这个的最好方法,因为我不完全确定这是视图控制器之间的实际转换,还是只是在当前视图控制器中呈现子视图的一些奇特的动画.
前者将是有趣的,以便维护视图控制器范例并保持所有区域划分.如果是后者,封装的最佳方法是什么?
它看起来像你可以真正做到这一点,但我认为你应该继续这样做作为
一个自定义模态转换.在点击图像时,它会转换到图像视图(我认为是模态视图控制器),在我看来,当您查看图像时,在y轴上的某个阈值内向上或向下滑动图像只是移动,但是一旦你越过中心上方或下方的某个点,它就会告诉视图控制器一旦
用户从拖动中释放,就假设拖动已经从中心高于或低于该阈值.拖动手势还会导致模态视图控制器本身的不透明度根据拖动距中心的距离而渐变.当
用户确实释放超出阈值的拖动时,
自定义转换会调整图像的大小并将其动画回到主视图控制器中的位置.我认为这也可以在
自定义转换中完成,但是,我没有亲自尝试过.