아이폰 폴더블폰인 Duo가 나오면서
많은부분들을 고려하고 봐야하지만 새로나온 타입과 변경점을 중심으로 확인해보려합니다
레이아웃은 총 6가지의 경우가있어서 잘 대응해야합니다

힌지라는 개념이 새로생겼습니다.
onHingeChange 로 힌지상태값을받아서
status - 힌지가 접혔는지 펴졌는지 부분 접혓는지
angle - 각도
를 알 수있습니다.
Toolbar
toolbarVerticalBehavior
처음 비교해볼건 탭바나 툴바의 위치입니다

toolbarVerticalEdge (툴바위치)
화면 회전 0도일때



close(닫힌상태) - trailing
partiallyOpen(구부린상태) - trailing
fullyOpen(편상태) - trailing
toolbarVerticalEdge (툴바위치)
화면 회전 90도일때
close(닫힌상태) - trailing
partiallyOpen(구부린상태) - trailing
fullyOpen(편상태) - nil(bottom)
toolbarVerticalEdge (툴바위치)
화면 회전 180도일때 (시뮬레이터상에서는 UI가 돌아가지않음)
close(닫힌상태) - trailing
partiallyOpen(구부린상태) - trailing
fullyOpen(편상태) - trailing
toolbarVerticalEdge (툴바위치)
화면 회전 270도일때
close(닫힌상태) - leading
partiallyOpen(구부린상태) - nil(bottom)
fullyOpen(편상태) - nil(bottom)
toolbarVerticalBehavior
disable 설정시 탭바가 오른쪽에안뜨고 보통 아이폰과같이 하단에 존재


toolbarVerticalCompressionBehavior
툴바 압축 우선순위 지정
prefersToolbarItems - 툴바 우선 보여주고 탭바를 압축

prefersTabBar - 탭바 우선 보여주고 툴바 압축

Toolbar 위치 관련



axisBehavior - 세로 바에 들어갈 수 있는지
- .verticalPreferred: 가로,세로 모두지원, 세로 우선
- .horizontalOnly: 가로바에만 지원
placement - 어디자리에 둘지
ToolbarOverflowMenu - 항상 오버플로 메뉴에 들어감. 공간이 모자라서 밀려나는게아니라 항상 메뉴안에 넣는다 선언
ReservedRegions
다음으로는 화면안쪽에 새로생긴 division(접힘선)과 occlusion(UDC 카메라)의 위치 비교입니다.
ReservedRegions 타입에 해당합니다




division은 fullyOpen상태에서도 조회는 가능합니다
조회시 isActive차이가 있습니다. (조회시 includeInactive 옵션을 넣어줘야합니다)
occlusion에서는
외부 디스플레이는 카메라 영역이 항상 active, 내부는 사용중일때만 active 상태입니다.
ArrangementView
접혔을때 기준을 지정할 수 있습니다.
- .arrangementViewStyle로 split, overlay를 통해 어느 축으로 나눌건지 제한가능
- .splitArrangementLayoutRatio로 split 된 뷰비율 조절가능

- .overlayArrangementEdge로 overlay된 뷰 기준점 조절가능(HorizontalEdge, VerticalEdge)





backgroundExtensionEffect
Duo는 세로 바, 카메라 때문에 safe area가 한쪽으로 쏠려 있어서 레이아웃은 안쪽에 두고 배경만 바 밑으로 채우는 용도로 사용
해당뷰만 뚫고나옴
vs safeArea
.ignoresSafeArea는 실제로 커지고 뷰의 원본내용이 그려짐
.backgroundExtensionEffect는 가장자리를 반사한 복제복이 그려짐 + 블러
오른쪽 끝에 사람 얼굴이 있는 사진을 쓴다고 하면
- ignoresSafeArea: 얼굴이 카메라·세로 바 밑으로 들어가서 가려집니다.
- backgroundExtensionEffect: 얼굴은 safe area 안에 온전히 보이고 바 밑에는 번진 복제본만 깔립니다.
ignoresSafeArea는 레이아웃을 바꾸고, backgroundExtensionEffect는 레이아웃은 그대로 두고 보이는 것만 채웁니다.
그래서 콘텐츠가 있는 뷰(사진, 텍스트)에는 extension을 쓰고 순수 배경색에는 ignoresSafeArea로 충분합니다.
PresentationPlacement
sheet 사용시 위치지정가능


