首页 > 其他 > 详细

图片浏览器

时间:2015-12-27 17:32:55      阅读:153      评论:0      收藏:0      [点我收藏+]

  项目需要做类似淘宝等商城的商品图片浏览器,网上已经有一些类似的第三方框架例如MWPhotoBrowser等,这里介绍一下自己实现的细节,可以参考学习下不同Controller之间的转场动画。

  首先要搞明白层次结构,我们需要的效果是:点击图片轮播器中的某张图片,弹出大图,可以缩放,滑动可以切换图片,点击大图,缩放回对应的小图。所以,我们Modal出CollectionView来是图片可以滑动切换,在其每个ItemCell中放一个ViewController,在ViewController的View中添加ScrollView,在ScrollView中添加ImageView,来显示图片,同时使图片可以缩放。做好层次结构之后,只需要把对应的需要展示图片设置好,就ok了。

  然后就是做转场动画的效果。

  指定要弹出的Controller的Moda的Style,以及代理

    photoVc.modalPresentationStyle = UIModalPresentationCustom;
    photoVc.transitioningDelegate = self;

  遵守代理协议  UIViewControllerAnimatedTransitioning, UIViewControllerTransitioningDelegate

  实现代理方法:

- (nullable id <UIViewControllerAnimatedTransitioning>)animationControllerForPresentedController:(UIViewController *)presented presentingController:(UIViewController *)presenting sourceController:(UIViewController *)source;  // 负责转场

 

- (nullable id <UIViewControllerAnimatedTransitioning>)animationControllerForDismissedController:(UIViewController *)dismissed; // 负责结束转场

 

- (NSTimeInterval)transitionDuration:(nullable id <UIViewControllerContextTransitioning>)transitionContext; // 转场时间

 

- (void)animateTransition:(id <UIViewControllerContextTransitioning>)transitionContext; // 转场动画的具体细节

现在就可以按照自己想要的方式做转场动画了。

具体代码可以参考Demo

图片浏览器

原文:http://www.cnblogs.com/yangzhifan/p/5080272.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!