If you are really concerned about MVC, what about defining a method in your controller like:
- (UIView*)itemViewForItem:(Item*)item;
which is responsible for creating and "populating" your ItemView?
You main controller class would then act as a controller both for your main view and all ItemViews
you have got.
Another approach would be giving each ItemView its own ItemViewController. This is perfectly fine and if your controller/view is of any complexity, IMO, also the best approach. The drawback with this is that dealing with controllers container is supported only on iOS>5.