Question: I am developing an app which allows you to select photos and place them into different positions. The workflow is basically:

1. Tap an area of the screen
2. `UIImagePickerController` displays
3. Select a photo
4. Photo displays in the tapped area of the screen

I would like it so that if the user goes through this workflow for a second time, the `UIImagePickerController` when displayed will be showing the same album, and position within that album, that the user was last at.

I've tried saving a reference to the `UIImagePickerController`, as well as the `UIPopoverController`, so that they are created only once. However, every time I present the popover containing the `UIImagePickerController`, it is back at the main photos menu (eg. Camera Roll, Photo Library, My Photo Stream).

Any ideas for how to achieve what I'm after?

Answer: 
You can use [ALAssetsLibrary](https://developer.apple.com/library/ios/#documentation/AssetsLibrary/Reference/ALAssetsLibrary_Class/Reference/Reference.html) . But this will cost you more effort. First time use `– enumerateGroupsWithTypes:usingBlock:failureBlock:` to list all album and remember user's choice. And at second time. Just use that album:`ALAssetsGroup`'s `– enumerateAssetsUsingBlock:` to list all the images and videos. Apple has a few demo you can have a look [PhotosByLocation](https://developer.apple.com/library/ios/#samplecode/PhotosByLocation/Introduction/Intro.html#//apple_ref/doc/uid/DTS40010136) [MyImagePicker](https://developer.apple.com/library/ios/#samplecode/MyImagePicker/Introduction/Intro.html#//apple_ref/doc/uid/DTS40010135)
It should be possible to reach into the resulting `UITableView` and then find its content offset. You can do this by searching the subviews of the `UIImagePickerController`'s `view` property for a table view.

```
for (UIView *view in controller.view) {
  if ([view isKindOfClass:[UITableView class]]) {
    contentOffset = [(UITableView *)view contentOffset];
  }
}

```

When you represent the view controller, you will want to restore the content offset in a similar fashion.

Note, I haven't actually tested to see the view hierarchy of the `UIImagePickerController`. Verify its structure by printing its subviews. There is also no guarantee that the structure will stay the same, since you are diving into the private implementation (though it's important to note you are not actually using any private APIs so this is okay).