Ios Safe Area Insets
Never place interactive or essential content under the status bar, Dynamic Island, or home indicator; respect UIEdgeInsets from safeAreaInsets / safeAreaLayoutGuide at all times.
$ prime install @community/rule-ios-safe-area-insets Projection
Always in _index.xml · the agent never has to ask for this.
IosSafeAreaInsets [rule] v1.0.0
Never place interactive or essential content under the status bar, Dynamic Island, or home indicator; respect UIEdgeInsets from safeAreaInsets / safeAreaLayoutGuide at all times.
Loaded when retrieval picks the atom as adjacent / supporting.
IosSafeAreaInsets [rule] v1.0.0
Never place interactive or essential content under the status bar, Dynamic Island, or home indicator; respect UIEdgeInsets from safeAreaInsets / safeAreaLayoutGuide at all times.
Applies To
all content and interactive elements positioned in an iOS view
Loaded when retrieval picks the atom as a focal / direct hit.
IosSafeAreaInsets [rule] v1.0.0
Never place interactive or essential content under the status bar, Dynamic Island, or home indicator; respect UIEdgeInsets from safeAreaInsets / safeAreaLayoutGuide at all times.
Applies To
all content and interactive elements positioned in an iOS view
Examples
- Verify on a physical iPhone 15 Pro or Dynamic Island Simulator: nothing clipped under the island or home indicator.
- Background fills may extend edge-to-edge; all text, buttons, and interactive elements must be inset.
- In SwiftUI: default safe area is automatically respected; only extend background with .ignoresSafeArea(.container) on Color or Image layers.
Rationale
System chrome physically obscures content placed outside safe areas, making it unreachable or invisible. The Dynamic Island on iPhone 14 Pro and later occupies more vertical space than a standard notch and must be accounted for explicitly.
Applies To
all content and interactive elements positioned in an iOS view
Source
prime-system/examples/frontend-design/primes/compiled/@community/rule-ios-safe-area-insets/atom.yaml