iOS

SwiftUI Advanced

Layout protocol, preference keys, GeometryReader, matchedGeometryEffect, ViewBuilder

22 interview questionsยท
Senior
1

What is the Layout protocol in SwiftUI?

Answer

The Layout protocol enables creating custom view containers by defining how subviews are positioned and sized. It replaces manual GeometryReader approaches for complex layouts, offering a declarative and composable API for building sophisticated view arrangements.

2

How to implement a custom layout by conforming to the Layout protocol?

Answer

Implementing Layout requires defining two main methods: sizeThatFits that returns the container's total size, and placeSubviews that positions each subview using placement proposals. These methods work together to create a coherent and predictable layout system.

3

What is the main advantage of using the Layout protocol over GeometryReader?

Answer

The Layout protocol offers a composable and reusable approach for layouts, whereas GeometryReader often requires imperative code in each view. Layout separates placement logic from rendering logic, improving testability and maintainability of components.

4

How to pass configuration parameters to a custom layout?

5

When to use GeometryReader rather than the Layout protocol?

+19 interview questions

Master iOS for your next interview

Access all questions, flashcards, technical tests, code review exercises and interview simulators.

Start for free