-1

Possible Duplicate:
Access Photo Album from iPhone Code

I am new to iPhone development. I am developing an application in which i required to view my photos present on my iphone. Could any one tell me how to achieve this?

Thanks

Puneet Garg

Community
  • 1
  • 1

5 Answers5

1

You have multiple possibilities for this:

  • If you want to display the standard view that allows the user to pick one photo from its Photo Album, use UIImagePickerController. This is simple to use and very common if you just need the user to choose an existing Photo from its photo album. --> see here

  • If you want to programatically manipulate all the photos in the PhotoAlbum, customize the view that display the thumbnails, or list the photos in another way and get more detailed info on each images, looping thru all images in the Photo Album, and so on, use the AssetsLibrary (ALAsset, ALAssetsLibrary, ... and similar classes) --> see here

AliSoftware
  • 32,377
  • 6
  • 78
  • 76
0

You have to use UIImagePickerController for that...Follow this Link

stack2012
  • 2,092
  • 1
  • 15
  • 23
0
- (void)viewDidLoad
{
    [super viewDidLoad];
    [activity startAnimating];


    appObj=(ImagePickerAppDelegate *)[[UIApplication sharedApplication]delegate];

    void (^assetEnumerator)(struct ALAsset *, NSUInteger, BOOL *) = ^(ALAsset *result, NSUInteger index, BOOL *stop)
    {
        if(result != NULL) 
        {
            //assets is a mutualable array...for storing the images that are in the device..
            [assets addObject:result];
        }
    };

    void (^assetGroupEnumerator)(struct ALAssetsGroup *, BOOL *) =  ^(ALAssetsGroup *group, BOOL *stop) 
    {
        if(group != nil)
        {
            [group enumerateAssetsUsingBlock:assetEnumerator];
        }
        //meth is a user defined method..   
        [self meth];
        [activity stopAnimating];
        [activity setHidden:YES];
    };
    assets = [[NSMutableArray alloc] init];
    ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
    [library enumerateGroupsWithTypes:ALAssetsGroupAlbum usingBlock:assetGroupEnumerator 
                         failureBlock: ^(NSError *error) { NSLog(@"Failure");}];
}


-(void)meth
{
    NSLog(@"%i",[assets count]);

    if(userOrientation==UIInterfaceOrientationPortrait || userOrientation==UIInterfaceOrientationPortraitUpsideDown)
    {
        NSLog(@"haii");
        [scrollView removeFromSuperview];

        scrollView=[[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, 320, 460)];
        scrollView.backgroundColor=[UIColor whiteColor];

        NSLog(@"%i",[assets count]);
        for (int i = 0; i < [assets count]; i++) 
        {
            imgBtn = [UIButton buttonWithType:UIButtonTypeCustom];
            [imgBtn setFrame:CGRectMake((i%4*80)+2,(i/4*80)+2,75,75)];
            imgBtn.tag=i;
            [imgBtn addTarget:self action:@selector(imageClicked:) forControlEvents:UIControlEventTouchUpInside];
            ALAsset *asset=[assets objectAtIndex:i];
            [imgBtn setImage:[UIImage imageWithCGImage:[asset thumbnail]] forState:UIControlStateNormal];
            [scrollView addSubview:imgBtn];
        }
        scrollView.contentSize = CGSizeMake(320,(([assets count]/4)+1)*300 );
    }

    if(userOrientation==UIInterfaceOrientationLandscapeRight || userOrientation==UIInterfaceOrientationLandscapeLeft)
    {
        [scrollView removeFromSuperview];
        scrollView=[[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, 480,320)];
        for (int i = 0; i < [assets count]; i++) 
        {
            imgBtn = [UIButton buttonWithType:UIButtonTypeCustom];
            [imgBtn setFrame:CGRectMake((i%6*80)+2,(i/6*80)+2,75,75)];
            imgBtn.tag=i;
            [imgBtn addTarget:self action:@selector(imageClicked:) forControlEvents:UIControlEventTouchUpInside];
            ALAsset *asset=[assets objectAtIndex:i];
            [imgBtn setImage:[UIImage imageWithCGImage:[asset thumbnail]] forState:UIControlStateNormal];
            [scrollView addSubview:imgBtn];
        }
        scrollView.contentSize = CGSizeMake(480,(([assets count]/4)+1)*300);
    }
    [self.view addSubview:scrollView];
}

-(void)imageClicked:(UIButton *)sender
{
    //for picking the images that the user has selected we are using other array "selectedImages" i.e declared in the app delegate
    ALAsset *asset=[assets objectAtIndex:sender.tag];
    [appObj.selectedImages addObject:[UIImage imageWithCGImage:[[asset defaultRepresentation] fullScreenImage]]];
    NSLog(@"%i",[appObj.selectedImages count]);
    [self.navigationController popViewControllerAnimated:YES ];
}
phani yelugula
  • 278
  • 3
  • 12
0

Use UIImagePickerController. There is a good tutorial on this here.

http://www.zimbio.com/iPhone/articles/1109/Picking+Images+iPhone+SDK+UIImagePickerController

Maulik
  • 19,108
  • 14
  • 80
  • 136
0

You can used following code to access photo album.

UIImagePickerController * anImagePickerController = [[UIImagePickerController alloc] init];
anImagePickerController.delegate = self;
anImagePickerController.sourceType = UIImagePickerControllerSourceTypeCamera;
anImagePickerController.showsCameraControls = YES;
[self presentModalViewController:anImagePickerController animated:NO];
[anImagePickerController release];
Jatin Patel - JP
  • 3,649
  • 2
  • 17
  • 42