UIView vs UIViewController

A UIViewController cannot display anything; it simply coordinates the display of a UIView. So the actual pictures are going to need to be done in a UIView. In addition, your UIView is responsible for recognizing touches, gestures, etc. That’s where it ends, though; the actual reaction of your program should be up to the UIViewController.

In other words, you’d teach a UIView subclass how to recognize a swipe to the left or right, and once it had decided that a swipe had taken place, it would notify your UIViewController subclass of that event. The controller would then decide what picture would be displayed next, and tell the view to set it up.

This is part of the Model-View-Controller pattern. It’s a well-known and widely-used pattern in iPhone development, so you’d be well served to read up on it.

Leave a Comment