BeanTransitionManager 是一种将 UIImageView 扩展成详细视图的方法,这种方法与 Pinterest iOS 应用中使用的方法非常相似。
要运行示例项目,克隆仓库,然后首先从 Example 目录中运行 pod install
。
实现转换效果 quite simple
源视图控制器应存储一个 BeanTransitionManager 属性,并使用以下代码初始化它:_beanTransitioningManager = [[BeanTransitionManager alloc] initWithExpandingImageView:self.imageView andTransitionDuration:1.0];
其中,expandingImageView 属性是你想要扩展到目标视图控制器的 imageView。可以通过使用 [self.beanTransitioningManager updateExpandingImageView:imageView]
在需要时更新 BeanTransitionManager 的 expandingImageView
属性。还包括一个用于扩展 UICollectionViewCells 的便利方法 - (void)updateExpandingImageViewWithCell:atIndexPath:inCollectionView:onView:andDuration:
。传递给此方法的自定义 UICollectionViewCell 子类必须遵守 BeanTransitionManagerCellExpanding
协议。
在切换到目标视图控制器时,将 beanTransitioningManager 属性分配给目标视图控制器的转换代理:destinationViewController.transitioningDelegate = self.beanTransitioningManager;
目标视图控制器必须遵守 BeanTransitionManagerDelegate
协议。此协议只需一个只读属性 delegateContentImageView
,应返回目标 imageView。
iOS 7 或更高版本。
BeanTransitionManager 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中
pod "BeanTransitionManager"
Stephen Walsh,[email protected]
BeanTransitionManager 基于 MIT 许可证提供。有关更多信息,请参阅 LICENSE 文件。