Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Difference between a Scene and a View in iOS

Tags:

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.

like image 290
CGTheLegend Avatar asked Sep 04 '14 17:09

CGTheLegend


1 Answers

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.

like image 100
Kunal Balani Avatar answered Oct 22 '22 22:10

Kunal Balani