I have implemented a custom Layout, specifically a label view that hides any trailing views that are clipped.
Now in my placeSubviews() method - even if I don't explicitly place a view - SwiftUI will layout the view and show it.
As there seems to be no way to hide a LayoutSubview, I have resorted to placing the view somewhere very far off screen like this
let maxOffset = CGFloat.greatestFiniteMagnitude
let offScreen = CGPoint(x: maxOffset, y: maxOffset)
subview.place(at: offScreen, proposal: .unspecified)
but I don't really like this solution.
Is there an official Apple "sanctioned" way how to hide LayoutSubviews inside a Layout?
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Returning false from NSTextContentManagerDelegate.textContentManager(_:shouldEnumerate:options:) produces huge gaps in my layout instead of showing a continuous block of text.
Instead of omiting the layout of the hidden element, there is a blank space that shows that appears to have the same size in layout as the omitted text element.
Why is this happening and how can I prevent this?
Example:
Since macOS 14 there is a ControlSize.extraLarge in SwiftUI, however there is no corresponding AppKit NSControl.ControlSize.extraLarge, which seems weird.
Surely this is an oversight?
Apple deprecated launch service calls like LSCopyAllRoleHandlersForContentType, referring to -[NSWorkspace URLsForApplicationsToOpenContentType:] instead.
However all those new NSWorkspace methods do not have the crucial LSRolesMask the launch service calls have.
For example, I have code that looks up all alternative shells, and with LSCopyAllRoleHandlersForContentType I could simply provide LSRoleMask.shell to restrict the returned bundle identifiers to shells only.
This is not the first time Apple deprecates stuff without a proper replacement and I don't really get it.
Every OS update is basically a downgrade.
Or is there another way to replicate the old launch service call behavior?
I used to detect TestFlight builds prior to iOS 18 by the bundleReceiptURL like this.
The deprecation message points to AppTransaction instead of using receipts directly, but that does not help with my use case here.
What is the proper way to detect a TestFlight build now?
Topic:
App Store Distribution & Marketing
SubTopic:
TestFlight
What happened to CMD-Option-Click in Xcode 26 for opening a symbol in a new editor split pane?
This was one of the most usefull shortcuts. Xcode 26 is a pain to use without it.
Topic:
Developer Tools & Services
SubTopic:
Xcode