На самом деле, эта проблема еще хуже на iPhone 3G, который не может даже отобразить две полноразмерные фотографии (снятые с помощью собственной камеры) одновременно.
Если вы можете уменьшить размер фотографий заранее, изменив их размер (на стороне сервера, если вы извлекаете их из собственных служб, или на стороне клиента, если они каким-либо образом генерируются на устройстве или извлекаются из сторонних служб), вам следует. Они будут загружаться быстрее, и вы можете разместить больше их на экране одновременно, не сталкиваясь с проблемами с памятью.
Библиотека Three20 имеет действительно отличный элемент управления просмотром фотографий для iPhone. Я почти уверен, что у них есть только три фотографии в любое время ... фотография, на которую вы смотрите, и фотографии, идущие вперед или назад.
http://github.com/facebook/three20
Я также думаю, что есть ветвь iPad элементов управления Three20 (в ./tree/ipad), хотя я не знаю, включают ли они браузер фотографий или нет, и я еще не пробовал их сам ... Может быть, это вариант для вас, если вы не хотите тратить много времени на эту особенность вашего приложения. Если браузер фотографий для iPad еще не готов, возможно, вы можете просто адаптировать версию для iPhone под свои нужды (это не должно быть сложно).
Если вы хотите испечь эту функцию самостоятельно, я бы черпал вдохновение из UITableViewController. Ваш контроллер должен поставляться с соответствующими источниками данных и делегировать протоколы для получения фотографий и реагирования на пользовательские события. Сам базовый класс контроллера должен повторно использовать три UIImageViews и должен перемешивать их вокруг, чтобы создать иллюзию, что пользователь просматривает большой список.