Size Classes are an abstraction of how a device should be categorized depending on its screen dimensions. Apple defined two categorizations for both vertical and horizontal sizes called “Regular” and “Compact”. The former specifies a big space, while the latter specifies a small” space. How big or small exactly? Here, “big” and “small” are not intended to be measured in inches.
iOS Size Classes
Apple has introduced many devices like iPhone, iPad with different screen sizes and resolution. Also after iOS 8 apple has supported multitasking in iPad. So for the developers to develop a common or single UI for all the devices apple has introduced the concept of an adaptive layout by combining auto layout and size classes.
What is adaptive layout:
The adaptive layout is a method of building the apps based on the size and characteristics of the container instead of a targeting a particular device. We can create a single layout to work on all devices instead of writing a platform specific code. Adaptive layout includes size classes and trait collection etc.
Before size, a class has been introduced developers were using following approaches to developing the UI.
-Universal storyboards. Unique storyboard for iPhone and iPad.
-Monitoring the orientation change API for dynamic layout during device rotation.
-Using layout constraints to manage different size within single device class.
To avoid these apple has introduced size classes after iOS8.
About Size classes:
Size class identifies relative amount of display space for the height and width or vertically and horizontally. Size class categorizes each dimension into two terms.
– Compact: As the name indicates, if the container space is small to display the content then it is called as compact.
– Regular: If there is enough space in the container to display the content then this is called as Regular.
Using the size class, one can retrieve the general information about the device in its current orientation.
Size classes for different devices:
Default Size Classes for Different Devices
Table : Size classes for devices with different screen sizes.
Device
|
Portrait
|
Landscape
|
iPad (all)
iPad Mini
|
Vertical size class: Regular
Horizontal size class: Regular
|
Vertical size class: Regular
Horizontal size class: Regular
|
iPhone 6 Plus
|
Vertical size class: Regular
Horizontal size class: Compact
|
Vertical size class: Compact
Horizontal size class: Regular
|
iPhone 6
|
Vertical size class: Regular
Horizontal size class: Compact
|
Vertical size class: Compact
Horizontal size class: Compact
|
iPhone 5s
iPhone 5c
iPhone 5
|
Vertical size class: Regular
Horizontal size class: Compact
|
Vertical size class: Compact
Horizontal size class: Compact
|
iPhone 4s
|
Vertical size class: Regular
Horizontal size class: Compact
|
Vertical size class: Compact
Horizontal size class: Compact
|
IMPORTANT
Never assume that your app will be displayed with a specific size class on a device. Always check the size class found in an object’s trait collection when making decisions about how to configure that object.
Comments
Post a Comment