Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>You can use ALAssetsLibrary and asset class to get the pictures in your device and you can use them to display in landscape mode and in portrait mode same like uiimagepicker.</p> <pre><code>- (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 &lt; [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 &lt; [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 ]; } </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload