You mix up views and view controllers.
The number of views that a view controller can control to display its data and perform its business logic is not strictly limited.
Nor is the number of subviews limited that a view can have.
There is just one thing. When these views are rather independent from each other, then do not make one a subview of the other. If a is the underlying view and b and c are the indipendent subviews, then do: [a addSubView:b]; [a addSubView:c];
Where is the problem?