iOS 一个点击头像放大浏览的工具类

阅读: 评论:0

iOS     一个点击头像放大浏览的工具类

iOS 一个点击头像放大浏览的工具类

不多说了,直接贴代码了,可以直接引用。

.h 文件

#import <Foundation/Foundation.h>


@interface LTImageToolMethod : NSObject

/**

 

 *

 @brief  浏览头像

 

 *

 

 *

 @param  oldImageView    头像所在的imageView

 

 */


+(void)showImage:(UIImageView*)avatarImageView;


@end



.m中的实现:

#import "LTImageToolMethod.h"


static


CGRect oldframe;


@implementation LTImageToolMethod


+(void)showImage:(UIImageView

                  *)avatarImageView{

    

    UIImage

    *image=avatarImageView.image;

    

    UIWindow

    *window=[UIApplication sharedApplication].keyWindow;

    

    UIView

    *backgroundView=[[UIView alloc]initWithFrame:CGRectMake(0,

                                                            0,

                                                            [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height)];

    

    oldframe=[avatarImageView

              convertRect:avatarImageView.bounds toView:window];

    

    backgroundView.backgroundColor=[UIColor

                                    blackColor];

    

    backgroundView.alpha=0;

    

    UIImageView

    *imageView=[[UIImageView alloc]initWithFrame:oldframe];

    

    imageView.image=image;

    

    imageView.tag=1;

    

    [backgroundView

     addSubview:imageView];

    

    [window

     addSubview:backgroundView];

    

    

    

    UITapGestureRecognizer

    *tap=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(hideImage:)];

    

    [backgroundView

     addGestureRecognizer: tap];

    

    

    

    [UIView

     animateWithDuration:0.3

     

     animations:^{

         

         imageView.frame=CGRectMake(0,([UIScreen

                                        mainScreen].bounds.size.height-image.size.height*[UIScreen mainScreen].bounds.size.width/image.size.width)/2,

                                    [UIScreen mainScreen].bounds.size.width, image.size.height*[UIScreen mainScreen].bounds.size.width/image.size.width);

         

         backgroundView.alpha=1;

         

     }

     completion:^(BOOL finished) {

         

         

         

     }];

    

}


+(void)hideImage:(UITapGestureRecognizer*)tap{

    

    UIView

    *backgroundView=tap.view;

    

    UIImageView

    *imageView=(UIImageView*)[tap.view viewWithTag:1];

    

    [UIView

     animateWithDuration:0.3

     

     animations:^{

         

         imageView.frame=oldframe;

         

         backgroundView.alpha=0;

         

     }

     completion:^(BOOL finished) {

         

         [backgroundView

          removeFromSuperview];

         

     }];

    

}


@end




OK  ,以上就是一个工具就建好了,

在图片点击的方法中直接调用 

[LTImageToolMethod showImage: 图片的imageview];

就可以了。


本文发布于:2024-01-27 18:38:38,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/17063519181938.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:头像   工具   iOS
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23