SwiftUI에서 Sheet은 모달 또는 팝업 스타일의 뷰를 표시하기 위해 사용되는 컴포넌트이다. Sheet를 사용하면 사용자에게 다른 뷰 위에 새로운 뷰를 나타낼 수 있어 사용자 경험을 향상시키는 데 도움을 준다.
Sheet를 표시하는 데 사용되는 뷰 컨트롤러가 SheetViewController이며 SheetViewController는 하위 뷰 또는 컨텐츠 뷰와 함께 모달 또는 팝업 스타일의 화면을 나타낸다.
이를 이용하여 모달로 화면을 전환할 때 높이를 커스텀할 수 있는데 detents 를 이용하며 예시는 다음과 같다.
override func viewWillAppear(_ animated: Bool) {
if let sheetPresentationController = sheetPresentationController {
sheetPresentationController.detents = [.midium()]
}
}
override func viewWillAppear(_ animated: Bool) {
if let sheetPresentationController = sheetPresentationController {
sheetPresentationController.detents = [
.custom { _ in
360
}
]
}
}
if let sheet = viewController.sheetPresentationController {
sheet.detents = [
.custom { _ in
return 360
},
.custom { context in
return context.maximumDetentValue * 0.6
}
]
}