Похоже, самым простым решением было бы использование UITableView в навигационном приложении.
(У Apple есть образцы того, как это использовать)
Загрузите таблицу со своими категориями.
Когда пользователь выбирает категорию, поместите новый вид из файла пера в стек навигации.
Это позволит вам использовать один и тот же Nib для всех категорий, и вы просто передадите изображение для загрузки в класс, который обрабатывает загрузку его в UIImageView.
Например:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[tableView deselectRowAtIndexPath:indexPath animated:NO];
imageCatView *catView = [[imageCatView alloc] initWithNibName: @"imageCatView" bundle: nil];
catView.categoryID = [[[categories objectAtIndex: _selectedRow] objectForKey:@"CatID"] intValue];
[[self navigationController] pushViewController:catView animated:YES];
[catView release];
}