---
title: "ArrangementView: layouts adaptativos de dois painéis para iPhone Duo"
description: "A nova ArrangementView do SwiftUI no iOS 27.1 divide views primárias e secundárias em estilos .split e .overlay, deixando o sistema decidir o arranjo conforme a geometria do iPhone Duo."
canonical: "https://ronanrodrigo.dev/notes/arrangementview-iphone-duo"
markdown: "https://ronanrodrigo.dev/notes/arrangementview-iphone-duo.md"
last-updated: "2026-09-21"
---
## Building iPhone Duo Layouts with ArrangementView

Artem Mirzabekian explica a ArrangementView, container do SwiftUI disponível no iOS 27.1 para layouts adaptativos de dois painéis — o cenário que o iPhone Duo impõe. Em vez de descrever exatamente onde cada view aparece, você declara a relação semântica entre uma view primária e uma secundária (por exemplo, um player e uma lista "Up Next" dentro de uma `NavigationStack`) e deixa o sistema decidir como apresentá-las conforme a geometria, size classes, proporção e regiões de divisão ativas. O artigo cobre os estilos `.split` (divide a área entre as duas views, horizontal quando o container é mais largo que alto, vertical no caso contrário, com restrição de eixo via `axes`) e `.overlay` (uma view pode aparecer sobre a outra). A distinção em relação a `Layout` e `AnyLayout` é quem decide: com `AnyLayout` seu código escolhe quando alternar entre HStack e VStack; com ArrangementView você fornece a relação e o sistema decide como expressá-la — o que importa mais quanto menos previsível a geometria do dispositivo fica.

[Acesse a fonte original](https://livsycode.com/swiftui/building-iphone-duo-layouts-with-arrangementview/)

## iPhone Duo Ships October 23: Fix These iOS Layout Bugs Now

Checklist prático para o lançamento do iPhone Duo em 23 de outubro: o dispositivo opera em quatro poses (fechado vertical e horizontal, aberto vertical e aberto horizontal) e reporta size classes regulares em ambos os eixos no display interno. `UIScreen.main` e `UIDevice.current.orientation` ficam ambiguos e depreciados; safe area insets são assimétricos por causa da dobra. Confirma ArrangementView como a primitiva canônica para dividir views pela dobra — `.split` para relações primário/detalhe e `.overlay` para relações fundo/frente — com as restrições de não aninhar `NavigationSplitView` dentro dele nem colocá-lo dentro de `List` ou `ScrollView`.

[Acesse a fonte original](https://byteiota.com/iphone-duo-ios-developer-layout-fixes)

## ArrangementView & Reserved Regions

Referência com código executável sobre regiões reservadas: regiões de divisão (a dobradiça) e de oclusão (a câmera) são reportadas separadamente e podem ser consultadas via `reservedRegions(kind:)` em um `GeometryProxy`, observadas com `onGeometryChange` em vez de cacheadas — elas mudam conforme o dispositivo abre e fecha. Mostra um split lista/detalhe que reflui em torno da região reservada da dobradiça e avisa que no estilo `.overlay` a ordem de empilhamento vem de `@Environment(\.overlayArrangementZIndex)`. Requer hardware iPhone Duo ou o simulador DeviceHub no Xcode 17+.

[Acesse a fonte original](https://swiftchronicle.com/features/iphone-duo-arrangementview-reserved-regions)

## iPhone Duo's New Code: Six APIs Developers Have Not Used Before

Panorama das seis APIs que existem apenas no iPhone Duo, com equivalências SwiftUI/UIKit: `ArrangementView`/`UIArrangementViewController` para o layout de dois painéis, `ReservedRegion`/`UIViewReservedRegion` para reservar espaço da dobradiça e da câmera, `onHingeChange`/`UIHingeInteraction` para o ângulo contínuo da dobradiça, `UIWindowSceneActivation` para uma segunda janela (apenas no display interno), acessórios de cena no display externo e a câmera frontal virtual que troca de lado sozinha. A orientação da Apple é usar os APIs de arrangement e regiões reservadas para decisões de layout, não o ângulo da dobradiça diretamente.

[Acesse a fonte original](https://www.macobserver.com/news/iphone-duo-new-apis-developers-have-not-used-before/)
