25

I'm new to iOS I'm having trouble understanding the difference between scene and a view. Unfortunately Apple's documentation isn't helping me. I read that a scene is what you see on the screen. But isn't that what a view is? Are these two interchangeable terms? If not what are the differences, both functionality and best practice? How does a ViewController come into play for both of these?

Any explanations or links are much appreciated.

CGTheLegend
  • 734
  • 1
  • 7
  • 19
  • 3
    Google: iOS scene vs view - http://hubpages.com/hub/IOS-5-Storyboarding-Tutorial-using-Segues-Scenes-ViewControllers-Navigation or http://stackoverflow.com/questions/13229990/cocoa-scene-vs-view – Kevin Sep 04 '14 at 17:58
  • That was really helpful to explain what a Scene is but I'm still a little shaky on what a View is. Is it simply what a ViewController controls (sounds intuitive)? And if so how is that different from a Scene? Is it that a Scene is something that the Storyboard handles and a View is something handled by XIB files? – CGTheLegend Sep 04 '14 at 18:06

1 Answers1

23

In simple terms:

View

A UIView is a rectangular area that is displayed on the screen.

ViewController

A collection of Views displayed on the screen at the moment.

In the following image, blue area and yellow area are Views, whereas the entire screen is a ViewController.

Anatomy of a UIView

Scene

A ViewController which is a part of a specific sequence.

enter image description here

However, the technical definitions are a little different:

UIView

A UIIView is a wrapper to CALayer. It holds an array of subviews which implies that it's a collection of views by itself. You can imagine this as a tree structure.

ViewController

A ViewController is a controller which holds a reference to the root view. This way, you can traverse the leaf node or any subview from the controller.

Scene

"Scene" is another term for a ViewController in one context of storyboard.

Utku
  • 2,025
  • 22
  • 42
Kunal Balani
  • 4,739
  • 4
  • 36
  • 73