美文网首页
点击放大图片

点击放大图片

作者: Wang99 | 来源:发表于2017-09-25 14:54 被阅读0次
    图片放大.png

    创建一个PhotoViewController继承于UIViewController

    //保存图片的数组
    @property (nonatomic, strong)NSMutableArray *photoArr;
    //图片 tag
    @property (nonatomic, assign)NSInteger imageTag;
    

    PhotoViewControlle.m

        [super viewDidLoad];
        UIScrollView *myScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 375, 667)];
        
        myScrollView.backgroundColor = [UIColor blackColor];
        myScrollView.pagingEnabled = YES;
        myScrollView.bounces = NO;
        
        [self.view addSubview:myScrollView];
        //根据tag 来获取当前点击的图片
        myScrollView.contentOffset = CGPointMake(self.view.frame.size.width * self.imageTag, 10);
        
        myScrollView.contentSize = CGSizeMake(self.view.frame.size.width * self.photoArr.count, 667);
        //创建
        for (int i = 0; i < self.photoArr.count; i++)
        {
            UIImageView *img = [[UIImageView alloc] initWithFrame:CGRectMake(self.view.frame.size.width * i + 10, 0, self.view.frame.size.width - 20, self.view.frame.size.height)];
            NSString *imgName = self.photoArr[i];
            img.image = [UIImage imageNamed:imgName];
            
            [myScrollView addSubview:img];
            
            //自适应图片大小
            img.contentMode = UIViewContentModeScaleAspectFit;
            
        }
        
        //轻拍跳出照片浏览
        UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapAction)];
        
        [myScrollView addGestureRecognizer:tap];
        
    }
    
    - (void)tapAction
    {
        [self dismissViewControllerAnimated:YES completion:^{
            
            
        }]; 
    }
    @end
    

    主视图

    #import "ViewController.h"
    #import "PhotoViewController.h"
    @interface ViewController (){
        
        NSMutableArray *array;
        
    }
    
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        self.view.backgroundColor = [UIColor whiteColor];
        array = [NSMutableArray arrayWithObjects:@"5.jpg",  nil];
        for (int i = 0; i < array.count; i++) {
            
            UIImageView *img = [[UIImageView alloc] initWithFrame:CGRectMake(20 + 880 * i, 100, 70, 70)];
            img.image = [UIImage imageNamed:[array objectAtIndex:i]];
            
            img.userInteractionEnabled = YES;
            
            //截掉边框
            img.clipsToBounds = YES;
            
            img.tag = 1000 + i;
            
            UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(TapAction:)];
            
            [img addGestureRecognizer:tap];
            
            [self.view addSubview:img];
        }
        
    }
    
    - (void)TapAction:(UITapGestureRecognizer *)tap{
        
        PhotoViewController *photoVC = [[PhotoViewController alloc] init];
        photoVC.imageTag = tap.view.tag - 1000 ;//获取当前被点击图片的 tag
        photoVC.photoArr = array;
        [photoVC setModalTransitionStyle:UIModalTransitionStyleCrossDissolve];// 效果
        [self presentModalViewController:photoVC animated:YES];
        
    }
    
    - (void)didReceiveMemoryWarning {
        [super didReceiveMemoryWarning];
        // Dispose of any resources that can be recreated.
    }
    
    
    @end
    

    相关文章

      网友评论

          本文标题:点击放大图片

          本文链接:https://www.haomeiwen.com/subject/vhfdextx.html