IPhone picture gallery source code

后端 未结 2 1284
梦谈多话
梦谈多话 2021-02-04 22:59

HI all can anyone please refer me, the iphone image gallery source code? Any link ,sample code will be great help.

i am trying to show some 70 to 100 images as thumbn

2条回答
  •  既然无缘
    2021-02-04 23:37

    In didload method call two methods to create scroll view and thumbnail button.Keep both thumbnail images and wallpaper images array in the same order.

    -(void)createScrollView
    {
    scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 440)];
    scrollView.pagingEnabled = YES;
    scrollView.showsHorizontalScrollIndicator = NO;
    scrollView.showsVerticalScrollIndicator = NO;
    scrollView.scrollsToTop = NO;
    scrollView.delegate = self;
    scrollView.contentSize = CGSizeMake(320 * (([imagesArray count]- 1) / 25 + 1), 440);
    
    scrollView.backgroundColor=[UIColor blackColor];
    [self.view addSubview:scrollView];
    
    }
    
     -(void)createButton{
    for (int i = 0; i < [imagesArray count]; i++) 
    {
    
        thumbNailButton = [UIButton buttonWithType:UIButtonTypeCustom];
        thumbNailButton.frame = CGRectMake(6 + 62 * (i % 5) + 320 * (i / 25), 5+65 * ((i / 5) % 5), 56,56);
    
        img = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 56, 56)];
        [img setImage:[UIImage imageNamed:[imagesArray objectAtIndex:i]]];
        thumbNailButton.tag=i;
        [thumbNailButton addTarget:self action:@selector(imageClicked:) forControlEvents:UIControlEventTouchUpInside];   
        [thumbNailButton addSubview:img];
        [scrollView addSubview:thumbNailButton];
    
    }
    
    }
    
     -(void)imageClicked:(id)sender{
    UIButton* button = (UIButton*)sender;
        AppDelegate *appDelegate=(AppDelegate *)[[UIApplication sharedApplication]delegate];
    [appDelegate setimageClickedValue:button.tag];
    
    LargeWallPaperviewController *largeWallPaperViewController=[[LargeWallPaperviewController alloc]initWithNibName:@"LargeWallPaperviewController" bundle:nil];
    [self.navigationController pushViewController:largeWallPaperViewController animated:YES];
    [largeWallPaperViewController release];
    }
    

    In largewallpaperviewcontroller class in didload method

       [imagesArray addObjectsFromArray:[NSArray arrayWithObjects:@"wallf1.jpg",@"wallf2.jpg",@"wallf3.jpg",@"wallf4.jpg",@"wallf5.jpg",@"wallf6.jpg",@"wallf7.jpg",nil]];
    
    scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 440)];
    scrollView.pagingEnabled = YES;
    scrollView.showsHorizontalScrollIndicator = NO;
    scrollView.showsVerticalScrollIndicator = NO;
    scrollView.scrollsToTop = NO;
    scrollView.delegate = self;
    scrollView.contentSize = CGSizeMake(320 * ([imagesArray count] ), 440);
    scrollView.backgroundColor = [UIColor blackColor];
    [self.view addSubview:scrollView];
    
    for (int i = 0; i < [imagesArray count]; i++) 
    {
    
        wallPaperButton=[UIButton buttonWithType:UIButtonTypeCustom];
        wallPaperButton.tag=i;
        wallPaperButton.frame=CGRectMake((320*i),0, 320, 325);
    
        UIImageView *img =[ [UIImageView alloc]initWithFrame:CGRectMake(0,0, 320, 325)];
    
        img.image=[UIImage imageNamed:[imagesArray objectAtIndex:i]];
        img.contentMode=UIViewContentModeScaleAspectFit;            
        [wallPaperButton addSubview:img];
        [img release];
    
    
        [wallPaperButton addTarget:self action:@selector(imageSelected:) forControlEvents:UIControlEventTouchUpInside];     [scrollView addSubview:wallPaperButton];
    }
    appDelegate=(AppDelegate *)[[UIApplication sharedApplication]delegate];
    int imageValue=[appDelegate getimageClickedValue];
    [scrollView scrollRectToVisible:CGRectMake(320*imageValue, 0, 320 , 440) animated:NO];
    

    i have used a button in the largewallpaer view.If you want you remove it and directly add it to image view.This code is working for me ,change it to your requirement.Its easy to understand.

    All the best.

提交回复
热议问题