SwiftUI Advanced
Layout protocol, preference keys, GeometryReader, matchedGeometryEffect, ViewBuilder
22 면접 질문·
Senior
1SwiftUI에서 Layout 프로토콜이란 무엇입니까?
1
SwiftUI에서 Layout 프로토콜이란 무엇입니까?
답변
Layout 프로토콜은 서브뷰가 어떻게 배치되고 크기가 조정되는지 정의하여 커스텀 뷰 컨테이너를 만들 수 있게 합니다. 복잡한 레이아웃에서 수동 GeometryReader 방식을 대체하며, 정교한 뷰 배치를 구성하기 위한 선언적이고 조합 가능한 API를 제공합니다.
2Layout 프로토콜을 준수하여 커스텀 레이아웃을 구현하려면 어떻게 해야 합니까?
2
Layout 프로토콜을 준수하여 커스텀 레이아웃을 구현하려면 어떻게 해야 합니까?
답변
Layout를 구현하려면 두 가지 주요 메서드를 정의해야 합니다. 컨테이너의 전체 크기를 반환하는 sizeThatFits와, 배치 제안을 사용하여 각 서브뷰를 배치하는 placeSubviews입니다. 이 메서드들은 함께 작동하여 일관되고 예측 가능한 레이아웃 시스템을 만듭니다.
3GeometryReader 대신 Layout 프로토콜을 사용하는 주요 장점은 무엇입니까?
3
GeometryReader 대신 Layout 프로토콜을 사용하는 주요 장점은 무엇입니까?
답변
Layout 프로토콜은 조합 가능하고 재사용 가능한 레이아웃 접근 방식을 제공하는 반면, GeometryReader는 종종 각 뷰에 명령형 코드를 필요로 합니다. Layout은 배치 로직을 렌더링 로직과 분리하여 컴포넌트의 테스트 용이성과 유지보수성을 향상시킵니다.
4
커스텀 레이아웃에 구성 매개변수를 전달하려면 어떻게 해야 합니까?
5
Layout 프로토콜 대신 GeometryReader를 사용해야 하는 경우는 언제입니까?
+19 면접 질문
기타 iOS 면접 주제
Swift 기초
Junior
25개 질문Swift 언어 기초
Junior
15개 질문UIKit 기초
Junior
18개 질문UIViewController 생명주기
Junior
20개 질문UserDefaults & Keychain
Junior
20개 질문애플리케이션 생명 주기
Junior
20개 질문Auto Layout & Constraints
Mid-Level
24개 질문UITableView & UICollectionView
Mid-Level
25개 질문SwiftUI 기초
Mid-Level
18개 질문SwiftUI 상태 관리
Mid-Level
22개 질문SwiftUI 내비게이션
Mid-Level
18개 질문Networking & URLSession
Mid-Level
20개 질문Codable 및 JSON 파싱
Mid-Level
20개 질문Core Data
Mid-Level
22개 질문프로토콜 지향 프로그래밍
Mid-Level
20개 질문MVVM 아키텍처
Mid-Level
20개 질문푸시 알림
Mid-Level
18개 질문단위 테스트와 XCTest
Mid-Level
20개 질문UI 테스트
Mid-Level
18개 질문Xcode 및 빌드 시스템
Mid-Level
16개 질문Swift Package Manager
Mid-Level
16개 질문Memory Management & ARC
Senior
22개 질문Combine Framework
Senior
24개 질문Concurrency & async/await
Senior
26개 질문iOS Design Patterns
Senior
24개 질문성능 최적화
Senior
22개 질문보안 및 암호화
Senior
20개 질문iOS 애플리케이션 아키텍처
Senior
22개 질문