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

Created

How to use CPTabBarTemplate on navigation apps?
According to the CarPlay developer guide navigation apps are allowed to use the CPTabBarTemplate. Thing is that navigation apps most likely use a CPMapTemplate as root template already, so how should the CPTabBarTemplate be used then? Setting a new root with a CPTabBarTemplate will probably break ongoing navigation and CPTabBarTemplate can't be pushed.
0
0
35
4d
AVCaptureVideoDataOutput stops zooming while AVCaptureVideoPreviewLayer continues — physical wide / ultra-wide / telephoto only
We use a single AVCaptureSession with AVCaptureVideoPreviewLayer and AVCaptureVideoDataOutput (preview-sized buffers, BGRA). When we increase videoZoomFactor, beyond a certain zoom level the image from AVCaptureVideoDataOutput no longer zooms further, while AVCaptureVideoPreviewLayer continues to zoom with the same zoom control. The preview and the video-data output therefore diverge. This behavior appears when the active camera is a physical lens device — wide, ultra-wide, or telephoto (e.g. builtInWideAngleCamera, builtInUltraWideCamera, builtInTelephotoCamera, or similar). It does not appear when the active input is a virtual / multi-camera (e.g. triple camera, dual-wide, or other system multi-camera). Are there known conditions under which this mismatch between preview and video-data output is expected? Thank you.
1
0
76
4d
UISwitch glass effect not visible when reloading UITableView
Hi Team I’m facing an issue with UISwitch inside a UITableViewCell on iOS 26. When the switch is toggled, I update my data and call tableView.reloadData(). Since both the switch animation and table view reload happen at the same time, the UISwitch does not show its glass effect properly (it looks flat/missing during the animation). If I delay the reload, the switch renders correctly. Is this a known issue? Is there a recommended way to handle this without affecting the switch’s visual appearance?
Topic: UI Frameworks SubTopic: UIKit
3
0
109
4d
CPListItem setImage: causes 29-second main thread hang on iOS 26.4 due to CoreUI performance regression
We're experiencing a severe main thread hang (29 seconds) in our CarPlay audio app when calling [CPListItem setImage:] on iOS 26.4. This issue affects 81% of our reported hang cases, and is concentrated on iOS 26.4. Environment iOS 26.4 CarPlay Audio app Images are downloaded via SDWebImage, resized to appropriate scale, then set via [CPListItem setImage:] on the main thread Problem When multiple list item images finish downloading around the same time, each setImage: call triggers expensive synchronous CoreUI operations on the main thread. The total accumulated time causes a 29-second freeze. The entire hang occurs inside Apple frameworks — no app code is on the hot path after calling setImage:. Call Stack (simplified) [CPListItem setImage:] └─ [CPImageSet initWithImage:treatmentBlock:] (57% + 21% + 18% = 96%) └─ [UIImageAsset imageWithTraitCollection:] └─ [UIImageAsset _withLock_imageWithConfiguration:] └─ [UIImageAsset _performLookUpRegisteredObjectForTraitCollection:] └─ [UITraitCollection _enumerateThemeAppearanceNamesForLookup:] └─ [CUICatalog _imageWithName:scaleFactor:deviceIdiom:...] └─ [CUIMutableStructuredThemeStore canGetRenditionWithKey:] └─ [CUIMutableStructuredThemeStore renditionWithKey:] └─ copyKeySignatureForKey / NSDictionaryM objectForKey: / CFStringCreateImmutableFunnel3 Code // Image download completion callback (dispatched to main queue by SDWebImage) if (finished && image) { UIImage *carPlayScaleImage = [UIImage imageWithCGImage:image.CGImage scale:[self getCarPlayDisplayScale] orientation:UIImageOrientationUp]; [item setImage:carPlayScaleImage]; // <-- hang here } Analysis Inside setImage:, the CarPlay framework creates a CPImageSet, which calls [UIImageAsset imageWithTraitCollection:] three times (at offsets +540, +344, +300 in CPImageSet initWithImage:treatmentBlock:). Each call performs a full CoreUI rendition key lookup via CUIMutableStructuredThemeStore, involving key signature computation, dictionary lookups, and string allocation. On iOS 26.4, these CoreUI operations appear significantly slower than previous iOS versions. When a CarPlay list loads ~20 items and images complete downloading in a short window, the serial execution of these setImage: calls on the main queue accumulates to a multi-second hang. Questions 1. Is this a known CoreUI performance regression in iOS 26.4? 2. Is there a recommended way to set images on CPListItem that avoids the heavy CPImageSet / UIImageAsset trait collection resolution path? 3. Are there any planned fixes for the CoreUI rendition lookup performance in upcoming iOS 26.x releases? Any guidance would be appreciated. We have also filed a Feedback report.
Topic: UI Frameworks SubTopic: UIKit
1
0
45
5d
NSWritingToolsCoordinator issue with text replacement
Hello, we are currently integrating Writing Tools into our macOS application using NSWritingToolsCoordinator with a custom NSView. Overall, the integration is going well and we are generally satisfied with the API. However, text replacement is sometimes not using NSWritingToolsCoordinator callback function. When selecting “Replace” from a preview in a Writing Tools UI popup, the text replacement is performed via the NSTextInputClient callback function (insertText:), which does not seem correct. This is especially problematic in multi-context scenarios, because NSTextInputClient insertText: does not provide the required information about the Writing tools context being used. As a result, it is not possible to determine which context is being modified when managing more than a single context. In our view, Writing Tools should consistently use the callback function of NSWritingToolsCoordinator for text replacement, whatever is the action performed. This is essential for properly handling multi-context use cases. This issue is reproducible with the sample app project provided here https://developer.apple.com/documentation/appkit/enhancing-your-custom-text-engine-with-writing-tools. If you define a breakpoint in function writingToolsCoordinator:replaceRange:inContext:proposedText:reason:animationParameters:completion: of the Writing tools coordinator, the function is not triggered if text replacement is performed from a preview like for "Summary" with "replace" button. NSWritingToolsCoordinator callback function seems to be called only when text replacement is performed directly inline (in the text view) without external preview so. i have opened a issue with feedback assistant: FB22401950. Best regards.
1
0
118
6d
NSWritingToolsCoordinator issue with text replacement
Hello, we are currently integrating Writing Tools into our macOS application using NSWritingToolsCoordinator with a custom NSView. Overall, the integration is going well and we are generally satisfied with the API. However, text replacement is sometimes not using NSWritingToolsCoordinator callback function. When selecting “Replace” from a preview in a Writing Tools UI popup, the text replacement is performed via the NSTextInputClient callback function (insertText:), which does not seem correct. This is especially problematic in multi-context scenarios, because NSTextInputClient insertText: does not provide the required information about the Writing tools context being used. As a result, it is not possible to determine which context is being modified when managing more than a single context. In our view, Writing Tools should consistently use the callback function of NSWritingToolsCoordinator for text replacement, whatever is the action performed. This is essential for properly handling multi-context use cases. This issue is reproducible with the sample app project provided here https://developer.apple.com/documentation/appkit/enhancing-your-custom-text-engine-with-writing-tools. If you define a breakpoint in function writingToolsCoordinator:replaceRange:inContext:proposedText:reason:animationParameters:completion: of the Writing tools coordinator, the function is not triggered if text replacement is performed from a preview like for "Summary" with "replace" button. NSWritingToolsCoordinator callback function seems to be called only when text replacement is performed directly inline (in the text view) without external preview so. i have opened a issue with feedback assistant: FB22401950. Best regards.
1
0
113
6d
Navigation title issue in iOS 26
Navigation title also scroll below the content when using scrollview. working fine in iOS 18 and below. one of the UI component is outside the scrollview which is causing the issue. struct ContentView: View { var body: some View { VStack { Rectangle() .frame(maxWidth: .infinity) .frame(height: 60) .padding(.horizontal) .padding(.top) ScrollView { ForEach(0...5, id: \.self) { _ in RoundedRectangle(cornerRadius: 10) .fill(.green) .frame(maxWidth: .infinity) .frame(height: 100) .padding(.horizontal) } } } .navigationTitle("Hello World") } }
0
0
103
6d
Navigation title scroll issue in iOS 26
Navigation title scroll along with the content in iOS 26. working fine in iOS 18 and below. One of my UI component is outside the scrollview which is causing the issue. var body: some View { VStack { Rectangle() .frame(maxWidth: .infinity) .frame(height: 60) .padding(.horizontal) .padding(.top) ScrollView { ForEach(0...5, id: \.self) { _ in RoundedRectangle(cornerRadius: 10) .fill(.green) .frame(maxWidth: .infinity) .frame(height: 100) .padding(.horizontal) } } } .navigationTitle("Hello World") } }
0
0
38
6d
Floating Card Window in iOS 26
My SwiftUI app runs as a floating card window on iOS 26 iPhone instead of full screen. UIRequiresFullScreen and UIApplicationSupportsMultipleScenes: false don't fix it. What's the iOS 26 Info.plist key or API to opt out of windowed mode? First iOS app, I'm very confused, and have been trying different things for like 3 days. Any nudge in the right direction would be wildly appreciated. Thanks! Mark
Topic: UI Frameworks SubTopic: SwiftUI
0
0
32
6d
How to add a button on top of sheet?
Hi, I have created this UI using custom view and not a real sheet component. But the animations and interaction is not as smooth. Earlier I was using sheet component and it was working very well, but then I had a need to add a search button on top of sheet (not inside, that is very important). And so I created this whole sheet with custom view and not the sheet component. But it resulted in loss of fluid working and animations that sheet have. Including changing between Medium detent and Large detent. Is it possible to achieve this UI with native sheet component? Or using some other native swiftui view which will have good animation that sheet has?
0
0
78
1w
iOS 26 TabBar Remove Selected Capsule
I have subclassed UITabBar and created a custom look and feel for it. On iOS 18, the tab bar appears as expected. On iOS 26, however, a default Liquid Glass-style capsule selection indicator appears behind the selected tab item. I tried using UITabBarAppearance, including selectionIndicatorTintColor = .clear and selectionIndicatorImage = nil / empty image, but the capsule-style selected background still appears. Is this selection treatment part of the new default system rendering in iOS 26, and if so, is there any supported way to remove or disable it while still using UITabBar?
Topic: UI Frameworks SubTopic: UIKit Tags:
3
0
202
1w
Update FreeType to support the new Chinese font format
Beginning with macOS Sonoma, Apple introduced a novel font format for rendering Chinese text. Apps that use third-party libraries for text rendering continued to function, primarily without disruption, owing to some workarounds provided by the operating system. FreeType, one of the most widely used cross-platform libraries for text rendering, now supports this new format. Apps that use this library, regardless of whether they encountered issues with Chinese text or not, should update to the latest FreeType source from their git repository (https://gitlab.freedesktop.org/freetype/freetype), as this support is not yet available in a tagged release. Updating ensures that apps operate optimally with Chinese text as well as any other language that uses this new format. Because this support calls into Apple APIs that Apple introduced in macOS 15.4, iOS 18.4, and aligned watchOS, tvOS, and visionOS releases, set the deployment target when building FreeType to match that of your own app. This ensures that the new API calls fail gracefully on older OS versions rather than causing your app to crash on systems where those APIs are not available.
0
0
127
1w
Password autofill not respecting contentType of NSSecureTextField
We have a Mac app the allows customers to create a user account in our system. However, we have found that on the 'create account' screen, the system's password autofill is popping up for the "New Password" field. We don't want this, because they need to enter a new password, not pull one from the Passwords app. I built a test project with a basic UI and explicitly set the content type to None in the XIB. However, I can see when I put focus on the "New Password" NSSecureTextField, the system shows the passwords autofill popup. How can I explicitly suppress this on a per text field basis? (We are developing on macOS 26.3 right now with Xcode 26.3)
Topic: UI Frameworks SubTopic: AppKit
0
0
40
1w
DiffableDataSource hangs on apply
About a year ago, I developed and released an app on the App Store (I believe it was running on the Sequoia SDK at the time), and everything was working fine. I’m now revisiting the project using the newer Tahoe SDK, and I’m running into an issue with DiffableDataSource. Specifically, the app hangs and CPU usage spikes to 100% when applying snapshots. Has anyone experienced similar issues after upgrading to newer SDKs? Are there any recent changes or pitfalls with DiffableDataSource (e.g., threading, Hashable requirements, or snapshot handling) that I should be aware of? Any insights or suggestions would be greatly appreciated. extension Section { enum Identifier: Int, CaseIterable { case main } enum Item: Hashable { case file(FileViewData) } } struct FileViewData: Equatable, Hashable, Identifiable { let id: String let name: String var accessoryViewData: KTFDownloadAccessoryViewData init( id: String, name: String, accessoryViewData: KTFDownloadAccessoryViewData = .nothing ) { self.id = id self.name = name self.accessoryViewData = accessoryViewData } } public enum KTFDownloadAccessoryViewData: Equatable, Hashable { case nothing case selected(SelectedState) case completed public enum SelectedState: Equatable, Hashable { case nothing case waiting case downloading(Double) } } When I changed FileViewData as below, no hangs but item appearance doesn't change of course. struct FileViewData: Equatable, Hashable, Identifiable { let id: String let name: String var accessoryViewData: KTFDownloadAccessoryViewData init( id: String, name: String, accessoryViewData: KTFDownloadAccessoryViewData = .nothing ) { self.id = id self.name = name self.accessoryViewData = accessoryViewData } func hash(into hasher: inout Hasher) { hasher.combine(id) } static func == (lhs: FileViewData, rhs: FileViewData) -> Bool { return lhs.id == rhs.id } }
Topic: UI Frameworks SubTopic: UIKit Tags:
1
0
69
1w
NSDocument "saveToURL:ofType:..." is using outdated file type
These days I've observed a strange behavior in my document-based app on macOS: Its NSDocument class implementation is overwriting "saveToURL:ofType:forSaveOperation:completionHandler:", performing some additional checks and calling super by passing the original parameters. As my app is supporting various file formats for writing (and exporting those UTIs) the user can open a file in one format and save it to another. NSDocument is calling the mentioned methods implicitly after completing the "Save as..." dialog. If this happens, the passed-on fileType is still the one of format #1, although the file is saved with the file name extension of format #2. This hick-up is not directly obvious to the user. But if the file is re-saved (e.g. after modifications), Cocoa is trying to extend the sandbox for the URL of type #1, and fails with the following error message at the Xcode console: -[STBDocument saveToURL:ofType:forSaveOperation:completionHandler:] [Line 521] typeName: com.janome.jef -[STBDocument saveToURL:ofType:forSaveOperation:completionHandler:] [Line 523] targetTypeUTI: com.tajima.dst NSFileSandboxingRequestRelatedItemExtension: Failed to issue extension for /Users/matthias/Desktop/Ohne Titel.jef because: Error Domain=NSPOSIXErrorDomain Code=3 "No such process" -[NSFileCoordinator itemAtURL:willMoveToURL:] could not get a sandbox extension. oldURL: file:///Users/matthias/Desktop/Ohne%20Titel.dst, newURL: file:///Users/matthias/Desktop/Ohne%20Titel.jef I'm currently fixing this issue by determining the UTType for the new file name extension and passing it to super. Unfortunately I have no idea how long this issue was already present, and cannot replicate it with a sample app based on Apple's Xcode 26 template (too many differences to my >15 years old app) - so I won't file a bug report. Take this post just for information in case someone else is facing a similar situation...
0
0
65
1w
Initial presentation of popover hangs when shown from a button in the toolbar
I have a simple reproducer here: struct ContentView: View { @State private var isOn = false @State private var isPresented = false var body: some View { NavigationStack { Color.blue .toolbar { ToolbarItem(placement: .topBarTrailing) { Button("Press here") { isPresented = true } .popover(isPresented: $isPresented) { Color.green .frame(idealWidth: 400, idealHeight: 500) .presentationCompactAdaptation(.popover) } } } } } } When I tap on the button in the toolbar you can see there is a hang then the popover shows. Then every time after there is no longer a hang so this seems like a bug. Any ideas? I'm using Xcode 26.3 and a iPad Pro 13-inch (M5) (26.4) simulator.
3
3
162
1w
X button disappeared on iPadOS 26.4 in MFMailComposeViewController
I’m using MFMailComposeViewController to send emails from my app. Since updating to iPadOS 26.4, there is no way to cancel the mail composer because the “X” button in the top-left corner has disappeared. On iPhone with iOS 26.4, everything still seems to work as expected. Is this a known issue, or am I missing something? Has anyone else experienced this, or found a workaround?
Topic: UI Frameworks SubTopic: UIKit
3
0
221
1w
How to use CPTabBarTemplate on navigation apps?
According to the CarPlay developer guide navigation apps are allowed to use the CPTabBarTemplate. Thing is that navigation apps most likely use a CPMapTemplate as root template already, so how should the CPTabBarTemplate be used then? Setting a new root with a CPTabBarTemplate will probably break ongoing navigation and CPTabBarTemplate can't be pushed.
Replies
0
Boosts
0
Views
35
Activity
4d
AVCaptureVideoDataOutput stops zooming while AVCaptureVideoPreviewLayer continues — physical wide / ultra-wide / telephoto only
We use a single AVCaptureSession with AVCaptureVideoPreviewLayer and AVCaptureVideoDataOutput (preview-sized buffers, BGRA). When we increase videoZoomFactor, beyond a certain zoom level the image from AVCaptureVideoDataOutput no longer zooms further, while AVCaptureVideoPreviewLayer continues to zoom with the same zoom control. The preview and the video-data output therefore diverge. This behavior appears when the active camera is a physical lens device — wide, ultra-wide, or telephoto (e.g. builtInWideAngleCamera, builtInUltraWideCamera, builtInTelephotoCamera, or similar). It does not appear when the active input is a virtual / multi-camera (e.g. triple camera, dual-wide, or other system multi-camera). Are there known conditions under which this mismatch between preview and video-data output is expected? Thank you.
Replies
1
Boosts
0
Views
76
Activity
4d
UISwitch glass effect not visible when reloading UITableView
Hi Team I’m facing an issue with UISwitch inside a UITableViewCell on iOS 26. When the switch is toggled, I update my data and call tableView.reloadData(). Since both the switch animation and table view reload happen at the same time, the UISwitch does not show its glass effect properly (it looks flat/missing during the animation). If I delay the reload, the switch renders correctly. Is this a known issue? Is there a recommended way to handle this without affecting the switch’s visual appearance?
Topic: UI Frameworks SubTopic: UIKit
Replies
3
Boosts
0
Views
109
Activity
4d
CPListItem setImage: causes 29-second main thread hang on iOS 26.4 due to CoreUI performance regression
We're experiencing a severe main thread hang (29 seconds) in our CarPlay audio app when calling [CPListItem setImage:] on iOS 26.4. This issue affects 81% of our reported hang cases, and is concentrated on iOS 26.4. Environment iOS 26.4 CarPlay Audio app Images are downloaded via SDWebImage, resized to appropriate scale, then set via [CPListItem setImage:] on the main thread Problem When multiple list item images finish downloading around the same time, each setImage: call triggers expensive synchronous CoreUI operations on the main thread. The total accumulated time causes a 29-second freeze. The entire hang occurs inside Apple frameworks — no app code is on the hot path after calling setImage:. Call Stack (simplified) [CPListItem setImage:] └─ [CPImageSet initWithImage:treatmentBlock:] (57% + 21% + 18% = 96%) └─ [UIImageAsset imageWithTraitCollection:] └─ [UIImageAsset _withLock_imageWithConfiguration:] └─ [UIImageAsset _performLookUpRegisteredObjectForTraitCollection:] └─ [UITraitCollection _enumerateThemeAppearanceNamesForLookup:] └─ [CUICatalog _imageWithName:scaleFactor:deviceIdiom:...] └─ [CUIMutableStructuredThemeStore canGetRenditionWithKey:] └─ [CUIMutableStructuredThemeStore renditionWithKey:] └─ copyKeySignatureForKey / NSDictionaryM objectForKey: / CFStringCreateImmutableFunnel3 Code // Image download completion callback (dispatched to main queue by SDWebImage) if (finished && image) { UIImage *carPlayScaleImage = [UIImage imageWithCGImage:image.CGImage scale:[self getCarPlayDisplayScale] orientation:UIImageOrientationUp]; [item setImage:carPlayScaleImage]; // <-- hang here } Analysis Inside setImage:, the CarPlay framework creates a CPImageSet, which calls [UIImageAsset imageWithTraitCollection:] three times (at offsets +540, +344, +300 in CPImageSet initWithImage:treatmentBlock:). Each call performs a full CoreUI rendition key lookup via CUIMutableStructuredThemeStore, involving key signature computation, dictionary lookups, and string allocation. On iOS 26.4, these CoreUI operations appear significantly slower than previous iOS versions. When a CarPlay list loads ~20 items and images complete downloading in a short window, the serial execution of these setImage: calls on the main queue accumulates to a multi-second hang. Questions 1. Is this a known CoreUI performance regression in iOS 26.4? 2. Is there a recommended way to set images on CPListItem that avoids the heavy CPImageSet / UIImageAsset trait collection resolution path? 3. Are there any planned fixes for the CoreUI rendition lookup performance in upcoming iOS 26.x releases? Any guidance would be appreciated. We have also filed a Feedback report.
Topic: UI Frameworks SubTopic: UIKit
Replies
1
Boosts
0
Views
45
Activity
5d
NSWritingToolsCoordinator issue with text replacement
Hello, we are currently integrating Writing Tools into our macOS application using NSWritingToolsCoordinator with a custom NSView. Overall, the integration is going well and we are generally satisfied with the API. However, text replacement is sometimes not using NSWritingToolsCoordinator callback function. When selecting “Replace” from a preview in a Writing Tools UI popup, the text replacement is performed via the NSTextInputClient callback function (insertText:), which does not seem correct. This is especially problematic in multi-context scenarios, because NSTextInputClient insertText: does not provide the required information about the Writing tools context being used. As a result, it is not possible to determine which context is being modified when managing more than a single context. In our view, Writing Tools should consistently use the callback function of NSWritingToolsCoordinator for text replacement, whatever is the action performed. This is essential for properly handling multi-context use cases. This issue is reproducible with the sample app project provided here https://developer.apple.com/documentation/appkit/enhancing-your-custom-text-engine-with-writing-tools. If you define a breakpoint in function writingToolsCoordinator:replaceRange:inContext:proposedText:reason:animationParameters:completion: of the Writing tools coordinator, the function is not triggered if text replacement is performed from a preview like for "Summary" with "replace" button. NSWritingToolsCoordinator callback function seems to be called only when text replacement is performed directly inline (in the text view) without external preview so. i have opened a issue with feedback assistant: FB22401950. Best regards.
Replies
1
Boosts
0
Views
118
Activity
6d
NSWritingToolsCoordinator issue with text replacement
Hello, we are currently integrating Writing Tools into our macOS application using NSWritingToolsCoordinator with a custom NSView. Overall, the integration is going well and we are generally satisfied with the API. However, text replacement is sometimes not using NSWritingToolsCoordinator callback function. When selecting “Replace” from a preview in a Writing Tools UI popup, the text replacement is performed via the NSTextInputClient callback function (insertText:), which does not seem correct. This is especially problematic in multi-context scenarios, because NSTextInputClient insertText: does not provide the required information about the Writing tools context being used. As a result, it is not possible to determine which context is being modified when managing more than a single context. In our view, Writing Tools should consistently use the callback function of NSWritingToolsCoordinator for text replacement, whatever is the action performed. This is essential for properly handling multi-context use cases. This issue is reproducible with the sample app project provided here https://developer.apple.com/documentation/appkit/enhancing-your-custom-text-engine-with-writing-tools. If you define a breakpoint in function writingToolsCoordinator:replaceRange:inContext:proposedText:reason:animationParameters:completion: of the Writing tools coordinator, the function is not triggered if text replacement is performed from a preview like for "Summary" with "replace" button. NSWritingToolsCoordinator callback function seems to be called only when text replacement is performed directly inline (in the text view) without external preview so. i have opened a issue with feedback assistant: FB22401950. Best regards.
Replies
1
Boosts
0
Views
113
Activity
6d
Navigation title issue in iOS 26
Navigation title also scroll below the content when using scrollview. working fine in iOS 18 and below. one of the UI component is outside the scrollview which is causing the issue. struct ContentView: View { var body: some View { VStack { Rectangle() .frame(maxWidth: .infinity) .frame(height: 60) .padding(.horizontal) .padding(.top) ScrollView { ForEach(0...5, id: \.self) { _ in RoundedRectangle(cornerRadius: 10) .fill(.green) .frame(maxWidth: .infinity) .frame(height: 100) .padding(.horizontal) } } } .navigationTitle("Hello World") } }
Replies
0
Boosts
0
Views
103
Activity
6d
Navigation title scroll issue in iOS 26
Navigation title scroll along with the content in iOS 26. working fine in iOS 18 and below. One of my UI component is outside the scrollview which is causing the issue. var body: some View { VStack { Rectangle() .frame(maxWidth: .infinity) .frame(height: 60) .padding(.horizontal) .padding(.top) ScrollView { ForEach(0...5, id: \.self) { _ in RoundedRectangle(cornerRadius: 10) .fill(.green) .frame(maxWidth: .infinity) .frame(height: 100) .padding(.horizontal) } } } .navigationTitle("Hello World") } }
Replies
0
Boosts
0
Views
38
Activity
6d
Floating Card Window in iOS 26
My SwiftUI app runs as a floating card window on iOS 26 iPhone instead of full screen. UIRequiresFullScreen and UIApplicationSupportsMultipleScenes: false don't fix it. What's the iOS 26 Info.plist key or API to opt out of windowed mode? First iOS app, I'm very confused, and have been trying different things for like 3 days. Any nudge in the right direction would be wildly appreciated. Thanks! Mark
Topic: UI Frameworks SubTopic: SwiftUI
Replies
0
Boosts
0
Views
32
Activity
6d
How to add a button on top of sheet?
Hi, I have created this UI using custom view and not a real sheet component. But the animations and interaction is not as smooth. Earlier I was using sheet component and it was working very well, but then I had a need to add a search button on top of sheet (not inside, that is very important). And so I created this whole sheet with custom view and not the sheet component. But it resulted in loss of fluid working and animations that sheet have. Including changing between Medium detent and Large detent. Is it possible to achieve this UI with native sheet component? Or using some other native swiftui view which will have good animation that sheet has?
Replies
0
Boosts
0
Views
78
Activity
1w
iOS 26 TabBar Remove Selected Capsule
I have subclassed UITabBar and created a custom look and feel for it. On iOS 18, the tab bar appears as expected. On iOS 26, however, a default Liquid Glass-style capsule selection indicator appears behind the selected tab item. I tried using UITabBarAppearance, including selectionIndicatorTintColor = .clear and selectionIndicatorImage = nil / empty image, but the capsule-style selected background still appears. Is this selection treatment part of the new default system rendering in iOS 26, and if so, is there any supported way to remove or disable it while still using UITabBar?
Topic: UI Frameworks SubTopic: UIKit Tags:
Replies
3
Boosts
0
Views
202
Activity
1w
Update FreeType to support the new Chinese font format
Beginning with macOS Sonoma, Apple introduced a novel font format for rendering Chinese text. Apps that use third-party libraries for text rendering continued to function, primarily without disruption, owing to some workarounds provided by the operating system. FreeType, one of the most widely used cross-platform libraries for text rendering, now supports this new format. Apps that use this library, regardless of whether they encountered issues with Chinese text or not, should update to the latest FreeType source from their git repository (https://gitlab.freedesktop.org/freetype/freetype), as this support is not yet available in a tagged release. Updating ensures that apps operate optimally with Chinese text as well as any other language that uses this new format. Because this support calls into Apple APIs that Apple introduced in macOS 15.4, iOS 18.4, and aligned watchOS, tvOS, and visionOS releases, set the deployment target when building FreeType to match that of your own app. This ensures that the new API calls fail gracefully on older OS versions rather than causing your app to crash on systems where those APIs are not available.
Replies
0
Boosts
0
Views
127
Activity
1w
Password autofill not respecting contentType of NSSecureTextField
We have a Mac app the allows customers to create a user account in our system. However, we have found that on the 'create account' screen, the system's password autofill is popping up for the "New Password" field. We don't want this, because they need to enter a new password, not pull one from the Passwords app. I built a test project with a basic UI and explicitly set the content type to None in the XIB. However, I can see when I put focus on the "New Password" NSSecureTextField, the system shows the passwords autofill popup. How can I explicitly suppress this on a per text field basis? (We are developing on macOS 26.3 right now with Xcode 26.3)
Topic: UI Frameworks SubTopic: AppKit
Replies
0
Boosts
0
Views
40
Activity
1w
DiffableDataSource hangs on apply
About a year ago, I developed and released an app on the App Store (I believe it was running on the Sequoia SDK at the time), and everything was working fine. I’m now revisiting the project using the newer Tahoe SDK, and I’m running into an issue with DiffableDataSource. Specifically, the app hangs and CPU usage spikes to 100% when applying snapshots. Has anyone experienced similar issues after upgrading to newer SDKs? Are there any recent changes or pitfalls with DiffableDataSource (e.g., threading, Hashable requirements, or snapshot handling) that I should be aware of? Any insights or suggestions would be greatly appreciated. extension Section { enum Identifier: Int, CaseIterable { case main } enum Item: Hashable { case file(FileViewData) } } struct FileViewData: Equatable, Hashable, Identifiable { let id: String let name: String var accessoryViewData: KTFDownloadAccessoryViewData init( id: String, name: String, accessoryViewData: KTFDownloadAccessoryViewData = .nothing ) { self.id = id self.name = name self.accessoryViewData = accessoryViewData } } public enum KTFDownloadAccessoryViewData: Equatable, Hashable { case nothing case selected(SelectedState) case completed public enum SelectedState: Equatable, Hashable { case nothing case waiting case downloading(Double) } } When I changed FileViewData as below, no hangs but item appearance doesn't change of course. struct FileViewData: Equatable, Hashable, Identifiable { let id: String let name: String var accessoryViewData: KTFDownloadAccessoryViewData init( id: String, name: String, accessoryViewData: KTFDownloadAccessoryViewData = .nothing ) { self.id = id self.name = name self.accessoryViewData = accessoryViewData } func hash(into hasher: inout Hasher) { hasher.combine(id) } static func == (lhs: FileViewData, rhs: FileViewData) -> Bool { return lhs.id == rhs.id } }
Topic: UI Frameworks SubTopic: UIKit Tags:
Replies
1
Boosts
0
Views
69
Activity
1w
NSDocument "saveToURL:ofType:..." is using outdated file type
These days I've observed a strange behavior in my document-based app on macOS: Its NSDocument class implementation is overwriting "saveToURL:ofType:forSaveOperation:completionHandler:", performing some additional checks and calling super by passing the original parameters. As my app is supporting various file formats for writing (and exporting those UTIs) the user can open a file in one format and save it to another. NSDocument is calling the mentioned methods implicitly after completing the "Save as..." dialog. If this happens, the passed-on fileType is still the one of format #1, although the file is saved with the file name extension of format #2. This hick-up is not directly obvious to the user. But if the file is re-saved (e.g. after modifications), Cocoa is trying to extend the sandbox for the URL of type #1, and fails with the following error message at the Xcode console: -[STBDocument saveToURL:ofType:forSaveOperation:completionHandler:] [Line 521] typeName: com.janome.jef -[STBDocument saveToURL:ofType:forSaveOperation:completionHandler:] [Line 523] targetTypeUTI: com.tajima.dst NSFileSandboxingRequestRelatedItemExtension: Failed to issue extension for /Users/matthias/Desktop/Ohne Titel.jef because: Error Domain=NSPOSIXErrorDomain Code=3 "No such process" -[NSFileCoordinator itemAtURL:willMoveToURL:] could not get a sandbox extension. oldURL: file:///Users/matthias/Desktop/Ohne%20Titel.dst, newURL: file:///Users/matthias/Desktop/Ohne%20Titel.jef I'm currently fixing this issue by determining the UTType for the new file name extension and passing it to super. Unfortunately I have no idea how long this issue was already present, and cannot replicate it with a sample app based on Apple's Xcode 26 template (too many differences to my >15 years old app) - so I won't file a bug report. Take this post just for information in case someone else is facing a similar situation...
Replies
0
Boosts
0
Views
65
Activity
1w
iOS26的TabBar是否支持lottie动画?
iOS26的TabBar是否支持lottie动画?
Topic: UI Frameworks SubTopic: UIKit
Replies
1
Boosts
0
Views
46
Activity
1w
There is a problem using UIImagePickerController
When taking a photo with UIImagePickerController, the text in "Use Photo" shifts. What could be the reason for this?
Topic: UI Frameworks SubTopic: General
Replies
1
Boosts
0
Views
47
Activity
1w
Initial presentation of popover hangs when shown from a button in the toolbar
I have a simple reproducer here: struct ContentView: View { @State private var isOn = false @State private var isPresented = false var body: some View { NavigationStack { Color.blue .toolbar { ToolbarItem(placement: .topBarTrailing) { Button("Press here") { isPresented = true } .popover(isPresented: $isPresented) { Color.green .frame(idealWidth: 400, idealHeight: 500) .presentationCompactAdaptation(.popover) } } } } } } When I tap on the button in the toolbar you can see there is a hang then the popover shows. Then every time after there is no longer a hang so this seems like a bug. Any ideas? I'm using Xcode 26.3 and a iPad Pro 13-inch (M5) (26.4) simulator.
Replies
3
Boosts
3
Views
162
Activity
1w
Window size of iOS app running on Mac
I need constraint the window size for an iOS app running on Mac. That's easy for a MacApp, using self.window?.minSize.width = 450 self.window?.maxSize.width = 450 or use func windowDidResize(_ notification: Notification) { } but how to achieve it in UIKit ?
Replies
3
Boosts
0
Views
225
Activity
1w
X button disappeared on iPadOS 26.4 in MFMailComposeViewController
I’m using MFMailComposeViewController to send emails from my app. Since updating to iPadOS 26.4, there is no way to cancel the mail composer because the “X” button in the top-left corner has disappeared. On iPhone with iOS 26.4, everything still seems to work as expected. Is this a known issue, or am I missing something? Has anyone else experienced this, or found a workaround?
Topic: UI Frameworks SubTopic: UIKit
Replies
3
Boosts
0
Views
221
Activity
1w