Explore the various UI frameworks available for building app interfaces. Discuss the use cases for different frameworks, share best practices, and get help with specific framework-related questions.

All subtopics
Posts under UI Frameworks topic

Post

Replies

Boosts

Views

Activity

Best practice for responding to the hinge angle in SwiftUI: Semantic modifiers vs. ReservedRegion queries
Hello! The session description mentions "responding to the hinge angle" in SwiftUI. In the current iOS 27.1 SDK surface, physical division detection relies primarily on inspecting GeometryProxy.reservedRegions(kind: .division). Could you clarify whether Apple recommends modeling posture strictly through geometric division queries, or if there is a recommended/upcoming approach (such as a dedicated view modifier, environment value, or semantic posture state) to observe chassis articulation directly? If continuous or discrete angles are accessible, what is the canonical way to drive declarative layout changes without incurring redundant body re-evaluations during active folding?
Topic: UI Frameworks SubTopic: SwiftUI
1
0
69
5d
Fold Retry Design
"For payment confirmation and retry flows on Apple Duo: If fold occurs during payment confirmation screen: Should we pause/dismiss the confirmation modal? Can user confirm payment while device is folding? Should we preserve the confirmation state and re-display after fold completes? What if transaction is already processing when fold occurs? For failed payment retry scenarios: Should we automatically retry after fold completes?
Topic: UI Frameworks SubTopic: UIKit
0
0
44
5d
Deterministic detection of inner unfolded display vs. outer cover display when flat (180°)
When iPhone Duo is unfolded completely flat to 180°, ReservedRegion(.division) becomes inactive or reports empty geometries. At this point, both the flat inner display and the closed cover display present continuous rectangular surfaces. We currently infer the inner display by evaluating the asymmetric system safe area signature (specifically the presence of the 82 pt top status band versus the trailing lateral cluster on the outer display). Is relying on asymmetric safe area insets the intended pattern to discriminate the active display surface in SwiftUI, or is there a preferred platform API to identify whether a window is hosted on the internal foldable panel versus the cover glass?
Topic: UI Frameworks SubTopic: SwiftUI
1
0
61
5d
QRScanner
"For QR scanner functionality on Apple Duo: Should QR scanner remain accessible during fold, or should it be disabled? If fold occurs during active scanning, what happens to the scan session? Should we use one camera or dual cameras on both screens? How do we handle camera permission state across fold transitions? Should scan result be displayed on the screen where the camera was active?"
Topic: UI Frameworks SubTopic: UIKit
0
1
42
5d
Design
"How should our application's components (campaign cards, payment flows, bottom sheets) be displayed on iPad and Apple Duo? Should we adapt our current iPhone-only design to iPad, or create separate layouts? Should layouts work seamlessly during fold/unfold transitions on Apple Duo? Can we reuse the same storyboards and XIBs, or do we need device-specific implementations? Are Size Classes sufficient, or do we need custom breakpoints for these different screen sizes?"
Topic: UI Frameworks SubTopic: UIKit
0
0
41
5d
Segmented & Contianer
"When implementing SegmentedControl for container navigation on Apple Duo: What's the optimal segment placement when the screen is folded (top, side, or hidden)? How do we handle segment state persistence across fold transitions? Should we use a single SegmentedControl for both screens or separate ones per display? Are there performance implications for frequent container switching on dual screens?"
Topic: UI Frameworks SubTopic: UIKit
0
0
40
5d
Backporting new SwiftUI views
Will the new SwiftUI views added to support the duo (like ArrangementView) be backported to older iOS versions or will we have to provide different implementations if we still want to support iOS 26?
Topic: UI Frameworks SubTopic: SwiftUI
1
0
46
5d
Segment & Container Usage
Should we implement different layouts for iPad (horizontal) vs Apple Duo (dual-screen)? How should we preserve the segment selection state during fold/unfold transitions? Should the segment bar be fixed or part of scrollable content? For dual-screen navigation, is TabBar or SegmentedControl more appropriate on Duo?"
Topic: UI Frameworks SubTopic: UIKit
0
0
12
5d
Custom tool toolbars and fold postures on iPhone Duo (UIKit/Objective-C, iOS 27.1 SDK)
We have a mature Objective-C/UIKit PDF editor. Its editing UI uses two custom toolbar views that we build and lay out ourselves, so they aren't UINavigationBar or UIToolbar items: a tool-selection bar (annotate, edit, sign and so on), and a tools bar that shows the tools for the selected mode, with contextual options. They hold custom controls, selection state and popovers that can't be expressed as bar button items, so moving to UINavigationBar or UIToolbar isn't realistic for us. Right now we swap between a compact and a regular toolbar layout on size-class changes (traitCollectionDidChange:), and handle geometry in viewWillTransitionToSize:withTransitionCoordinator:. Questions: Posture changes: When the device folds or unfolds, what's the recommended way for custom toolbar views to adapt? Should we rely on size-class and size transitions only, or is there a posture signal we should observe? Fold region: How should custom bars avoid the fold? Is it exposed through safe areas or a layout guide, or should we split a bar across both halves? Placement: In a partially folded (tabletop) posture, is there guidance on moving tool bars to the lower half, the way the system does for its own bars? Workarounds: If the system bar behavior for fold postures isn't available to custom views, what have others done? For example, hosting our custom views inside system bars, or mirroring system bar positioning manually. Suggestions or pointers to docs, sample code or WWDC sessions would be much appreciated. Thanks!
Topic: UI Frameworks SubTopic: UIKit
0
1
56
5d
UI Design
"How should our application's components (campaign cards, payment flows, bottom sheets) be displayed on iPad and Apple Duo? Should we adapt our current iPhone-only design to iPad, or create separate layouts? Should layouts work seamlessly during fold/unfold transitions on Apple Duo? Can we reuse the same storyboards and XIBs, or do we need device-specific implementations? Are Size Classes sufficient, or do we need custom breakpoints for these different screen sizes?"
Topic: UI Frameworks SubTopic: UIKit
0
0
19
5d
UIArrangementViewController Split Ratio
How can we do this in UIKit using UIArrangementViewController? I can’t find an equivalent to splitArrangementLayoutRatio. I did find UISplitArrangement.Dimension.fractional(CGFloat), but I can’t find a way to apply it to UIArrangementViewController, and I’m not even sure whether .fractional is intended for this purpose. ArrangementView { ConversationView() .splitArrangementLayoutRatio(0.3) } secondary: { PhotosView() } .arrangementViewStyle(.split.axes(.horizontal))
Topic: UI Frameworks SubTopic: UIKit
1
0
92
5d
Security Concern : Clarification on iOS App Switcher Snapshot Storage and User Accessibility
Security concern: To provide a visually appealing transition when launching or leaving an application, iOS introduced a feature that automatically captures a screenshot of the current view when an app is moved to the background. This screenshot is subsequently displayed as a preview in the App Switcher. There is security concern that the app shows sensitive information like activation codes or chat histories in the preview image of the App Switcher Need clarification on the following points: 1.Where exactly are these App Switcher preview screenshots stored on the device filesystem? 2.Can these App Switcher snapshots be accessed on a jailbroken iOS device? 3.Are these snapshots stored inside the application container or in a system-managed location outside the app sandbox? Can any Third party application or tool can access this screenshots in iOS device? 5.Is there any Apple-recommended API, entitlement, or platform-supported mechanism on iOS to prevent screenshots in iOS
1
0
273
5d
Custom floating bottom right button
I have a floating bottom right button in my app (similar to twitter/x's blue compose button). I have no tab bar. When moving to the duo, this floating button now appears to the left of an empty tabbar/toolbar area on the right of the device. Ideally I want it to be inside the new tabbar/toolbar area when on the duo, as otherwise its wasted space. Is there anything new/inbuilt that I can leverage to manage this? Can I put my button into some container somewhere so that its the bottom right of the screen on an iPhone and automatically move to the toolbar area on duo? Something like a single item, right aligned, tabbar would be a great option. But the new liquid glass tabbar comes with too many restrictions on colors/styling I'm trying to find a way to avoid having logic like this in the app, as device specific logic becomes a maintenance issue int he future: if device == duo { // create toolbar button } else { // create button button and appen } d to window
Topic: UI Frameworks SubTopic: UIKit
1
2
108
5d
XCUITest accessibility snapshot reports stale frames during live scene resize
We exercise four layout modes in our SwiftUI app and need to drive them in UI tests. While a scene is resized live via xcrun devicectl device appResize, XCUITest's accessibility snapshot appears to carry a stale scale. With 951×669 requested, app.windows.firstMatch.frame comes back as {317, 223}, which is inconsistent with the app's own reading of its window (951×629 from our debug readout). Individual element frames are similarly tiny (a text label reports 2.9×0.9 pt). As a result .tap() appears to target the right element but the sheet never opens. We verified this with debugDescription dumps across two separate attempts, on clean boots. Is this a known limitation of XCUITest during live scene resizing, and is there a supported way to force the accessibility snapshot to refresh after a resize?
Topic: UI Frameworks SubTopic: SwiftUI
1
0
38
5d
Finger input interrupted while drawing with Apple Pencil + palm resting on display
I’m investigating an issue with simultaneous Apple Pencil and finger input on iPad. Apple Pencil + finger input works correctly while the Pencil user’s hand/palm is off the display. However, when drawing naturally with Apple Pencil with the palm resting on the display, an existing finger drawing contact elsewhere on the screen can be cancelled and then stop receiving input for several seconds. Pencil input continues normally throughout. Initially I suspected PencilKit, but I’ve reproduced the underlying behaviour below PencilKit/SwiftUI. Instrumenting UIKit at UIApplication.sendEvent shows the finger touch being cancelled and, in some cases, no further events for that finger for ~4–5 seconds while Pencil MOVED events continue to arrive normally. Everything delivered to the application is accounted for, so this appears to occur before our drawing/rendering code. Is this expected behaviour from the iPad’s Pencil/palm rejection? More specifically: Is there any supported way to tell UIKit that an existing finger contact should remain intentional while Pencil + palm contact is present? Is palm rejection configurable at this level? Is there another public input API we should be using for this scenario? We’re currently testing UIEvent.coalescedTouches(for:) to determine whether additional genuine finger samples are available during these apparent gaps, but haven’t completed that test yet. Any guidance on whether this interaction is expected to be supportable through public UIKit APIs would be appreciated.
1
0
320
5d
UITableView layout (inner display)
What is the recommended way if you have a UITableView and you want to move the first cell (complex chart) on the inner display to the left side of the layout and all the other cells on the right side. There are many ways to do that, but what would you recommend?
Topic: UI Frameworks SubTopic: UIKit
1
0
75
5d
iPhone Duo lying fully open and face-up: interface orientation, and rotating one ArrangementView region 180°
We're designing a two-person layout for iPhone Duo. The device lies fully open and flat on a table between two people facing each other. The inner display is in portrait orientation and split with ArrangementView using the default .split style, which stacks the regions in a tall window. Each person gets the half nearest them, and the far region uses .rotationEffect(.degrees(180)) so it faces the second person. The hinge isn't used for layout. While iPhone Duo lies fully open and face-up, does the interface orientation stay stable if the device is nudged or turned on the table? Is there a recommended way to hold it steady for one screen without restricting orientation app-wide? Is rotating one arrangement region 180° a supported pattern? Specifically, do the reserved regions from GeometryProxy.reservedRegions(kind:options:) need to be converted into the rotated region's coordinate space by hand? And do VoiceOver hit-testing and the focus ring follow the rotation? In an immersive full-screen view in this posture, can the status bar be hidden? If not, what's the recommended handling of its occlusion region, which would appear upside down to the second person?
0
0
62
5d
Best practice for responding to the hinge angle in SwiftUI: Semantic modifiers vs. ReservedRegion queries
Hello! The session description mentions "responding to the hinge angle" in SwiftUI. In the current iOS 27.1 SDK surface, physical division detection relies primarily on inspecting GeometryProxy.reservedRegions(kind: .division). Could you clarify whether Apple recommends modeling posture strictly through geometric division queries, or if there is a recommended/upcoming approach (such as a dedicated view modifier, environment value, or semantic posture state) to observe chassis articulation directly? If continuous or discrete angles are accessible, what is the canonical way to drive declarative layout changes without incurring redundant body re-evaluations during active folding?
Topic: UI Frameworks SubTopic: SwiftUI
Replies
1
Boosts
0
Views
69
Activity
5d
Fold Retry Design
"For payment confirmation and retry flows on Apple Duo: If fold occurs during payment confirmation screen: Should we pause/dismiss the confirmation modal? Can user confirm payment while device is folding? Should we preserve the confirmation state and re-display after fold completes? What if transaction is already processing when fold occurs? For failed payment retry scenarios: Should we automatically retry after fold completes?
Topic: UI Frameworks SubTopic: UIKit
Replies
0
Boosts
0
Views
44
Activity
5d
Deterministic detection of inner unfolded display vs. outer cover display when flat (180°)
When iPhone Duo is unfolded completely flat to 180°, ReservedRegion(.division) becomes inactive or reports empty geometries. At this point, both the flat inner display and the closed cover display present continuous rectangular surfaces. We currently infer the inner display by evaluating the asymmetric system safe area signature (specifically the presence of the 82 pt top status band versus the trailing lateral cluster on the outer display). Is relying on asymmetric safe area insets the intended pattern to discriminate the active display surface in SwiftUI, or is there a preferred platform API to identify whether a window is hosted on the internal foldable panel versus the cover glass?
Topic: UI Frameworks SubTopic: SwiftUI
Replies
1
Boosts
0
Views
61
Activity
5d
QRScanner
"For QR scanner functionality on Apple Duo: Should QR scanner remain accessible during fold, or should it be disabled? If fold occurs during active scanning, what happens to the scan session? Should we use one camera or dual cameras on both screens? How do we handle camera permission state across fold transitions? Should scan result be displayed on the screen where the camera was active?"
Topic: UI Frameworks SubTopic: UIKit
Replies
0
Boosts
1
Views
42
Activity
5d
Design
"How should our application's components (campaign cards, payment flows, bottom sheets) be displayed on iPad and Apple Duo? Should we adapt our current iPhone-only design to iPad, or create separate layouts? Should layouts work seamlessly during fold/unfold transitions on Apple Duo? Can we reuse the same storyboards and XIBs, or do we need device-specific implementations? Are Size Classes sufficient, or do we need custom breakpoints for these different screen sizes?"
Topic: UI Frameworks SubTopic: UIKit
Replies
0
Boosts
0
Views
41
Activity
5d
Segmented & Contianer
"When implementing SegmentedControl for container navigation on Apple Duo: What's the optimal segment placement when the screen is folded (top, side, or hidden)? How do we handle segment state persistence across fold transitions? Should we use a single SegmentedControl for both screens or separate ones per display? Are there performance implications for frequent container switching on dual screens?"
Topic: UI Frameworks SubTopic: UIKit
Replies
0
Boosts
0
Views
40
Activity
5d
Backporting new SwiftUI views
Will the new SwiftUI views added to support the duo (like ArrangementView) be backported to older iOS versions or will we have to provide different implementations if we still want to support iOS 26?
Topic: UI Frameworks SubTopic: SwiftUI
Replies
1
Boosts
0
Views
46
Activity
5d
UIUserInterfaceIdiom for Duo is still ".phone" ?
We are wondering if there would be a new enum case for UIUserInterfaceIdiom for iPhone Duo or we should use the case .phone
Topic: UI Frameworks SubTopic: SwiftUI
Replies
1
Boosts
1
Views
88
Activity
5d
Segment & Container Usage
Should we implement different layouts for iPad (horizontal) vs Apple Duo (dual-screen)? How should we preserve the segment selection state during fold/unfold transitions? Should the segment bar be fixed or part of scrollable content? For dual-screen navigation, is TabBar or SegmentedControl more appropriate on Duo?"
Topic: UI Frameworks SubTopic: UIKit
Replies
0
Boosts
0
Views
12
Activity
5d
Custom tool toolbars and fold postures on iPhone Duo (UIKit/Objective-C, iOS 27.1 SDK)
We have a mature Objective-C/UIKit PDF editor. Its editing UI uses two custom toolbar views that we build and lay out ourselves, so they aren't UINavigationBar or UIToolbar items: a tool-selection bar (annotate, edit, sign and so on), and a tools bar that shows the tools for the selected mode, with contextual options. They hold custom controls, selection state and popovers that can't be expressed as bar button items, so moving to UINavigationBar or UIToolbar isn't realistic for us. Right now we swap between a compact and a regular toolbar layout on size-class changes (traitCollectionDidChange:), and handle geometry in viewWillTransitionToSize:withTransitionCoordinator:. Questions: Posture changes: When the device folds or unfolds, what's the recommended way for custom toolbar views to adapt? Should we rely on size-class and size transitions only, or is there a posture signal we should observe? Fold region: How should custom bars avoid the fold? Is it exposed through safe areas or a layout guide, or should we split a bar across both halves? Placement: In a partially folded (tabletop) posture, is there guidance on moving tool bars to the lower half, the way the system does for its own bars? Workarounds: If the system bar behavior for fold postures isn't available to custom views, what have others done? For example, hosting our custom views inside system bars, or mirroring system bar positioning manually. Suggestions or pointers to docs, sample code or WWDC sessions would be much appreciated. Thanks!
Topic: UI Frameworks SubTopic: UIKit
Replies
0
Boosts
1
Views
56
Activity
5d
UI Design
"How should our application's components (campaign cards, payment flows, bottom sheets) be displayed on iPad and Apple Duo? Should we adapt our current iPhone-only design to iPad, or create separate layouts? Should layouts work seamlessly during fold/unfold transitions on Apple Duo? Can we reuse the same storyboards and XIBs, or do we need device-specific implementations? Are Size Classes sufficient, or do we need custom breakpoints for these different screen sizes?"
Topic: UI Frameworks SubTopic: UIKit
Replies
0
Boosts
0
Views
19
Activity
5d
APIs to lookout when migrating from App Delegate to SceneDelegate
Our app still supports iOS12, and still in the App Delegate, and we are expected to migrate and update our minimum iOS version to iOS15. What APIs should we review in the docs related to lifecycles, device and screen bounds, what expected breaking in UI as we are using custom navigation toolbars, and custom tab bars.
Topic: UI Frameworks SubTopic: UIKit
Replies
2
Boosts
0
Views
98
Activity
5d
UIArrangementViewController Split Ratio
How can we do this in UIKit using UIArrangementViewController? I can’t find an equivalent to splitArrangementLayoutRatio. I did find UISplitArrangement.Dimension.fractional(CGFloat), but I can’t find a way to apply it to UIArrangementViewController, and I’m not even sure whether .fractional is intended for this purpose. ArrangementView { ConversationView() .splitArrangementLayoutRatio(0.3) } secondary: { PhotosView() } .arrangementViewStyle(.split.axes(.horizontal))
Topic: UI Frameworks SubTopic: UIKit
Replies
1
Boosts
0
Views
92
Activity
5d
Security Concern : Clarification on iOS App Switcher Snapshot Storage and User Accessibility
Security concern: To provide a visually appealing transition when launching or leaving an application, iOS introduced a feature that automatically captures a screenshot of the current view when an app is moved to the background. This screenshot is subsequently displayed as a preview in the App Switcher. There is security concern that the app shows sensitive information like activation codes or chat histories in the preview image of the App Switcher Need clarification on the following points: 1.Where exactly are these App Switcher preview screenshots stored on the device filesystem? 2.Can these App Switcher snapshots be accessed on a jailbroken iOS device? 3.Are these snapshots stored inside the application container or in a system-managed location outside the app sandbox? Can any Third party application or tool can access this screenshots in iOS device? 5.Is there any Apple-recommended API, entitlement, or platform-supported mechanism on iOS to prevent screenshots in iOS
Replies
1
Boosts
0
Views
273
Activity
5d
Horizontal Scrolling Beyond Vertical Safe Area
Is it acceptable to have horizontal scrolling below tab view/ toolbar(Vertical Safe Area) on iPhone Duo or should I clipped it? Thank you
Topic: UI Frameworks SubTopic: SwiftUI
Replies
0
Boosts
1
Views
56
Activity
5d
Custom floating bottom right button
I have a floating bottom right button in my app (similar to twitter/x's blue compose button). I have no tab bar. When moving to the duo, this floating button now appears to the left of an empty tabbar/toolbar area on the right of the device. Ideally I want it to be inside the new tabbar/toolbar area when on the duo, as otherwise its wasted space. Is there anything new/inbuilt that I can leverage to manage this? Can I put my button into some container somewhere so that its the bottom right of the screen on an iPhone and automatically move to the toolbar area on duo? Something like a single item, right aligned, tabbar would be a great option. But the new liquid glass tabbar comes with too many restrictions on colors/styling I'm trying to find a way to avoid having logic like this in the app, as device specific logic becomes a maintenance issue int he future: if device == duo { // create toolbar button } else { // create button button and appen } d to window
Topic: UI Frameworks SubTopic: UIKit
Replies
1
Boosts
2
Views
108
Activity
5d
XCUITest accessibility snapshot reports stale frames during live scene resize
We exercise four layout modes in our SwiftUI app and need to drive them in UI tests. While a scene is resized live via xcrun devicectl device appResize, XCUITest's accessibility snapshot appears to carry a stale scale. With 951×669 requested, app.windows.firstMatch.frame comes back as {317, 223}, which is inconsistent with the app's own reading of its window (951×629 from our debug readout). Individual element frames are similarly tiny (a text label reports 2.9×0.9 pt). As a result .tap() appears to target the right element but the sheet never opens. We verified this with debugDescription dumps across two separate attempts, on clean boots. Is this a known limitation of XCUITest during live scene resizing, and is there a supported way to force the accessibility snapshot to refresh after a resize?
Topic: UI Frameworks SubTopic: SwiftUI
Replies
1
Boosts
0
Views
38
Activity
5d
Finger input interrupted while drawing with Apple Pencil + palm resting on display
I’m investigating an issue with simultaneous Apple Pencil and finger input on iPad. Apple Pencil + finger input works correctly while the Pencil user’s hand/palm is off the display. However, when drawing naturally with Apple Pencil with the palm resting on the display, an existing finger drawing contact elsewhere on the screen can be cancelled and then stop receiving input for several seconds. Pencil input continues normally throughout. Initially I suspected PencilKit, but I’ve reproduced the underlying behaviour below PencilKit/SwiftUI. Instrumenting UIKit at UIApplication.sendEvent shows the finger touch being cancelled and, in some cases, no further events for that finger for ~4–5 seconds while Pencil MOVED events continue to arrive normally. Everything delivered to the application is accounted for, so this appears to occur before our drawing/rendering code. Is this expected behaviour from the iPad’s Pencil/palm rejection? More specifically: Is there any supported way to tell UIKit that an existing finger contact should remain intentional while Pencil + palm contact is present? Is palm rejection configurable at this level? Is there another public input API we should be using for this scenario? We’re currently testing UIEvent.coalescedTouches(for:) to determine whether additional genuine finger samples are available during these apparent gaps, but haven’t completed that test yet. Any guidance on whether this interaction is expected to be supportable through public UIKit APIs would be appreciated.
Replies
1
Boosts
0
Views
320
Activity
5d
UITableView layout (inner display)
What is the recommended way if you have a UITableView and you want to move the first cell (complex chart) on the inner display to the left side of the layout and all the other cells on the right side. There are many ways to do that, but what would you recommend?
Topic: UI Frameworks SubTopic: UIKit
Replies
1
Boosts
0
Views
75
Activity
5d
iPhone Duo lying fully open and face-up: interface orientation, and rotating one ArrangementView region 180°
We're designing a two-person layout for iPhone Duo. The device lies fully open and flat on a table between two people facing each other. The inner display is in portrait orientation and split with ArrangementView using the default .split style, which stacks the regions in a tall window. Each person gets the half nearest them, and the far region uses .rotationEffect(.degrees(180)) so it faces the second person. The hinge isn't used for layout. While iPhone Duo lies fully open and face-up, does the interface orientation stay stable if the device is nudged or turned on the table? Is there a recommended way to hold it steady for one screen without restricting orientation app-wide? Is rotating one arrangement region 180° a supported pattern? Specifically, do the reserved regions from GeometryProxy.reservedRegions(kind:options:) need to be converted into the rotated region's coordinate space by hand? And do VoiceOver hit-testing and the focus ring follow the rotation? In an immersive full-screen view in this posture, can the status bar be hidden? If not, what's the recommended handling of its occlusion region, which would appear upside down to the second person?
Replies
0
Boosts
0
Views
62
Activity
5d