There has been lots of discussions around that in the Apple Dev Boards. My take on this:
If you can work with autoresizing or auto-layout, do not use multiple XIBs.
I bet in 99% of the views everybody uses, this is perfectly manageable. Table-views are a no-brainer, if you need a XIB for your table views only use one. If your view significantly differs for 3.5" and 4", use two XIBs. But try to avoid this by implementing a clever layoutSubviews
routine.
Simple example for a parent view always aligning a subview bottomView
at the bottom and full width:
- (void)layoutSubviews
{
CGSize mySize = self.bounds.size;
CGRect bottomFrame = bottomView.frame;
bottomFrame.origin.y = mySize.height - bottomFrame.size.height;
bottomFrame.size.width = mySize.width;
bottomView.frame = bottomFrame;
}