Post

Replies

Boosts

Views

Activity

Reply to How to drag drop to reorder items in a horizontal scroll view?
@DTS Engineer Submitted FB16390351. While the current approach does partially work, it doesn't fully meet the desired behavior. Specifically, when dragging an item, I want the dragged item to become invisible in the ScrollView, as the drag preview already provides users with a visual representation. Unfortunately, using .onDrag and .onDrop identifiers makes this challenging because there’s no built-in mechanism to notify us when a drag operation is completed. Without this notification, we can't reliably restore the visibility of the dragged item in the ScrollView. The DropDelegate exacerbates this limitation, as its performDropmethod is only invoked when the drop occurs inside the designated target. However, if the drop happens outside the target (e.g., in a completely unrelated view), the drop is treated as a no-op, and no callbacks are triggered. This leaves us unable to handle such scenarios effectively.
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Jan ’25
Reply to SwiftUI Popover Crash During Resizing in Stage Manager
+1 Seeing the exact same stacktrace in SwiftUI since our app launched. Our app is 100% SwiftUI. However, I've never been able to figure out why and when the crashes happens. This is currently our NO.1 source of crashes. Fatal Exception: NSInternalInconsistencyException Trying to layout popover in the delegate callback popoverPresentationController:willRepositionPopoverToRect:inView: will lead to recursion. Do not force the popover's container view or an ancestor to layout in this callback. Fatal Exception: NSInternalInconsistencyException 0 CoreFoundation 0x827cc __exceptionPreprocess 1 libobjc.A.dylib 0x172e4 objc_exception_throw 2 Foundation 0x80f8d8 _userInfoForFileAndLine 3 UIKitCore 0xa617e8 -[UIPopoverPresentationController _sendDelegateWillRepositionToRect] 4 UIKitCore 0xa61fd0 -[UIPopoverPresentationController containerViewWillLayoutSubviews] 5 UIKitCore 0xd414 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] 6 QuartzCore 0x78c28 CA::Layer::layout_if_needed(CA::Transaction*) 7 UIKitCore 0x50138 -[UIView(Hierarchy) layoutBelowIfNeeded] 8 SwiftUI 0xc799f4 specialized PopoverPresentationDelegate.updateAnchor(_:presentationController:) 9 SwiftUI 0xc72b08 closure #1 in UIKitInspectorV3Bridge.updateAnchor() 10 SwiftUICore 0x1f1308 partial apply for thunk for @escaping @callee_guaranteed () -> () 11 SwiftUICore 0x4a5d3c static Update.dispatchActions() 12 SwiftUICore 0x4a520c static Update.end() 13 SwiftUICore 0x4a5fd8 closure #1 in static Update.ensure<A>(_:) 14 SwiftUICore 0x4a4dd4 static Update.ensure<A>(_:) 15 SwiftUI 0xc75790 UIKitInspectorV3Bridge.popoverSource(for:) 16 SwiftUI 0xc7a84c specialized PopoverPresentationDelegate.popoverPresentationController(_:willRepositionPopoverTo:in:) 17 SwiftUI 0xc75af0 @objc PopoverPresentationDelegate.popoverPresentationController(_:willRepositionPopoverTo:in:) 18 UIKitCore 0xa6185c -[UIPopoverPresentationController _sendDelegateWillRepositionToRect] 19 UIKitCore 0xa61fd0 -[UIPopoverPresentationController containerViewWillLayoutSubviews] 20 UIKitCore 0xd414 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] 21 QuartzCore 0x78c28 CA::Layer::layout_if_needed(CA::Transaction*) 22 UIKitCore 0x50138 -[UIView(Hierarchy) layoutBelowIfNeeded] 23 UIKitCore 0x546cc -[UIWindowScene _enumerateWindowsIncludingInternalWindows:onlyVisibleWindows:asCopy:stopped:withBlock:] 24 UIKitCore 0x82b258 ___UIWindowHostingScenePerformUpdateWithEffectiveSettings_block_invoke_2 25 UIKitCore 0x38c0ac +[UIViewController _performWithoutDeferringTransitionsAllowingAnimation:actions:] 26 UIKitCore 0x82b160 ___UIWindowHostingScenePerformUpdateWithEffectiveSettings_block_invoke 27 UIKitCore 0x7ff30 +[UIView(Animation) performWithoutAnimation:] 28 UIKitCore 0x82a20c _UIWindowHostingScenePerformUpdateWithEffectiveSettings 29 UIKitCore 0x82a2c8 -[UIScene _enableOverrideSettingsForActions:] 30 UIKitCore 0x82a490 -[UIScene _performSystemSnapshotWithActions:] 31 UIKitCore 0x114428c -[UIApplication _performSnapshotsWithAction:forScene:completion:] 32 UIKitCore 0x1607954 __98-[_UISceneSnapshotBSActionsHandler _respondToActions:forFBSScene:inUIScene:fromTransitionContext:]_block_invoke_3 33 UIKitCore 0x16077d0 __98-[_UISceneSnapshotBSActionsHandler _respondToActions:forFBSScene:inUIScene:fromTransitionContext:]_block_invoke_2 34 UIKitCore 0x216190 -[UIScene _emitSceneSettingsUpdateResponseForCompletion:afterSceneUpdateWork:] 35 UIKitCore 0x2d5824 -[UIScene scene:didUpdateWithDiff:transitionContext:completion:] 36 UIKitCore 0x2d5404 -[UIApplicationSceneClientAgent scene:handleEvent:withCompletion:] 37 FrontBoardServices 0x371bc __76-[FBSScene updater:didUpdateSettings:withDiff:transitionContext:completion:]_block_invoke.193 38 FrontBoardServices 0x36d6c -[FBSScene _callOutQueue_coalesceClientSettingsUpdates:] 39 FrontBoardServices 0x63c8 -[FBSScene updater:didUpdateSettings:withDiff:transitionContext:completion:] 40 FrontBoardServices 0x14db8 __94-[FBSWorkspaceScenesClient _queue_updateScene:withSettings:diff:transitionContext:completion:]_block_invoke_2 41 FrontBoardServices 0x14c44 -[FBSWorkspace _calloutQueue_executeCalloutFromSource:withBlock:] 42 FrontBoardServices 0x19114 __94-[FBSWorkspaceScenesClient _queue_updateScene:withSettings:diff:transitionContext:completion:]_block_invoke 43 libdispatch.dylib 0x40d0 _dispatch_client_callout 44 libdispatch.dylib 0x7b14 _dispatch_block_invoke_direct 45 FrontBoardServices 0x16300 __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ 46 FrontBoardServices 0x16280 -[FBSMainRunLoopSerialQueue _targetQueue_performNextIfPossible] 47 FrontBoardServices 0x16158 -[FBSMainRunLoopSerialQueue _performNextFromRunLoopSource] 48 CoreFoundation 0x56328 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ 49 CoreFoundation 0x562bc __CFRunLoopDoSource0 50 CoreFoundation 0x53dc0 __CFRunLoopDoSources0 51 CoreFoundation 0x52fbc __CFRunLoopRun 52 CoreFoundation 0x52830 CFRunLoopRunSpecific 53 GraphicsServices 0x11c4 GSEventRunModal 54 UIKitCore 0x3d2eb0 -[UIApplication _run] 55 UIKitCore 0x4815b4 UIApplicationMain 56 SwiftUI 0x101f98 closure #1 in KitRendererCommon(_:) 57 SwiftUI 0xe2664 runApp<A>(_:) 58 SwiftUI 0xe5490 static App.main() 59 Notewise 0x8839c4 main (NotewiseApp.swift) 60 ??? 0x1b1df6ec8 (Missing)
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Dec ’24