One of SwiftUI's most distinguishing features is this layer system. Well, this system appears simple, it offers programmers enough options to create highly sophisticated layouts and animations to user can engage in. In this video, you'll learn about frames and layouts, as well as options available to you to adjust frames and implement layouts. Swift is a built-in modifier called frame that can be used to manipulate views. When applying a modifier to a view, you're often not modifying the view at all but rather encapsulating it in a new transparent view. However, this does not make frame constraint, nor does it make it the frame or bands of a view. Frames are actually yet another view. You can think of the frame like you would the frame of a painting or picture. When you apply modifiers like frame to the view, you are not changing the characteristics of the views, you're encapsulating within other transparent view. One of SwiftUI's greatest advantages is its lack of ambiguous framing, which is especially apparent when compared to its predecessor AutoLayout. The system does its best to always produce the best result and give you control when needed. Now that you know some more about blade and frames and SwiftUI, let's explore the SwiftUI layer process starting with sizing behaviors. SwiftUI's built-in frame modifier can be used to both assign a static width or height to a given view or to apply constraints like bounds within which the view can grow or shrink depending on its contents and surroundings. Notably, when a parent must lay out one of its child views, it proceeds in three steps. The parent offers some size to a child view. The child view decides the size it requires, eventually taking into account the parent size offer in which the child is free to ignore entirely, it then returns the size it requires to its parent. Finally, the parent lays out the child somewhere strictly respecting the size that the child requested. When creating a SwiftUI view, you describe its content in the views body property. However, the body property only returns a single view. You can combine and embed multiple views and stacks. Although you will learn about stocks in a later lesson, for now, keep in mind that stacks are the primary layout instrument in SwiftUI. Most layouts can be implemented using stacks. In other words, the core method for aligning views with each other is using stacks. Whereas HStack arranges views in a left to right list, VStack arranges views in a top to bottom list. If you want to overlay views, in other words, put one view on top of another, you can use a ZStack. While stacks may seem almost too simple, don't underestimate them. You will find that many apps use stacks and SwiftUI, which is why you'll learn more about them later. When placing objects in SwiftUI, spacers and padding maybe useful. Spacers are one of the preferred methods for placing objects in SwiftUI. Although spacers do not offer the most adjustability when designing a layout, they do provide a quick and easy way to evenly distribute items either vertically or horizontally within your UI. While spacers are a great tool to have in your SwiftUI UI tool belt, what happens if you need to be precise when placing a view, that's where padding comes in and becomes very useful for SwiftUI developers. Padding allows the developer to offset and align views in an iOS application. With padding, you can specify the exact amount of padding that you want to place on an element for the leading, trailing, top, and bottom. Leading aligns elements to the left, whereas trailing aligns elements to the right. For example, if you add a leading padding of 30 points to an element, that element will move 30 points to the left. The advantage is that you have full control over where an object ends up in the view. Another element related to placement is alignment. The alignment parameter is part of the frame modifier as well as stacks, for example, if you want to align texts and the view, you can use top leading to align a view from the top left corner of a view. In this video, you were introduced to the basic elements of SwiftUI's layout system. You learned about frames and the frame modifier, the layout process, the fundamental layout instruments in SwiftUI, stacks, as well as spacers, padding, and alignment. By mastering these elements you'll be delighting users with carefully crafted UIs and experiences in no time.