Personally, when I need some significant logic to go on, I do it with a UIViewController
subclass. Also, if I am looking for some of the behavior that you get from UIViewController
e.g. presenting it modally or in a navigation controller.
If you are doing something fairly simple or lightweight, a UIView
subclass is usually enough. I seem to have used them most often when making custom buttons and table view cells.
In my experience I have found myself using more UIViewController
subclasses than UIView
subclasses, but this might not be the best, it just so happens that I feel a bit more comfortable using view controllers rather than straight-up views.