Post

Replies

Boosts

Views

Activity

Reply to UISheetPresentationController issues on iPhone Duo
@elementarteilchen How are you adding the table view to the sheet? I had a similar issue where an inset grouped table view was appearing incorrectly as you are experiencing. In my case it came down to removing some references to safeAreaLayoutGuide in constraints being used to embed a UITableViewController in a container view controller. Once that was done the table view showed correctly on the Duo as well as still working on other devices and other versions of iOS.
Topic: UI Frameworks SubTopic: UIKit Tags:
3w
Reply to Best practice Replacement for Edit Button on iPhone Duo
Thanks Travis. I'm using UIKit. I've already implemented my own custom Edit/Done button using icons and it is working fine. I'm curious about the .axisBehavior you show in the SwiftUI code. Is there a UIKit equivalent? I don't see any mention of axisBehavior in the Xcode 27.1 developer documentation. And I don't see anything similar for UIBarButtonItem (or UIBarItem).
Topic: UI Frameworks SubTopic: UIKit Tags:
3w
Reply to Best practice Replacement for Edit Button on iPhone Duo
I'm dealing with issue as well. So far I'm changing my standard Edit buttons to use the "pencil" icon (no circle or square outline). And for the standard editButtonItem ("Edit"/"Done") button, I'm using "pencil" and "checkmark". An enhancement request should be filed requesting that these standard buttons be updated for the Duo to use icons as appropriate so every app doesn't need to create their own solution.
Topic: UI Frameworks SubTopic: UIKit Tags:
3w
Reply to Window size of iOS app running on Mac
You can set a min and max size in the UISceneDelegate method scene(_:willConnectTo:options:) by accessing the sizeRestrictions property of the UIWindowScene. Here's an example: func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { guard let winScene = scene as? UIWindowScene else { return } if let sizes = winScene.sizeRestrictions { sizes.minimumSize = .init(width: 640, height: 480) // No smaller than 640x480 sizes.maximumSize = .init(width: .max, height: .max) // As big as the user wants } }
Topic: UI Frameworks SubTopic: UIKit Tags:
Apr ’26
Reply to Does Mac Catalyst support Background Processing?
@DTS Engineer I really appreciate the response. Very helpful. After looking into SMAppService, it does seem like a launch agent is most appropriate. The biggest issue I have now is trying to figure out how to make this work. My app and its needs are very far from simple. I have a very large data model that is stored locally in a SQLite database and the user can optionally choose to sync their data via iCloud (CloudKit). Trying to figure out how refactor all of the existing code and logic that deals with CKSyncEngine syncing, reading and writing the SQLite database, and updating the in-memory data model into the launch agent, all in a way that can be coordinated with the main GUI app (when it might happen to be running), it going to be, shall I say, challenging. Oh, and doing this in such a way that doesn't change how the iOS version currently works using background tasks.
Nov ’25
Reply to Xcode Behaviors are BROKEN
Are your issues specific to Xcode 26.2? All of my existing behaviors works just fine with Xcode 26.0 and 26.1.1. I also had no trouble creating new custom behaviors and changing their names. I also had no issue deleting those custom behaviors. Though one note about editing a custom behavior's name. After entering the new name, you need to press the return key before clicking the Done button or the new name won't take. Perhaps that is the issue you are seeing. But I have not tested with Xcode 26.2.
Nov ’25
Reply to UISheetPresentationController issues on iPhone Duo
@elementarteilchen How are you adding the table view to the sheet? I had a similar issue where an inset grouped table view was appearing incorrectly as you are experiencing. In my case it came down to removing some references to safeAreaLayoutGuide in constraints being used to embed a UITableViewController in a container view controller. Once that was done the table view showed correctly on the Duo as well as still working on other devices and other versions of iOS.
Topic: UI Frameworks SubTopic: UIKit Tags:
Replies
Boosts
Views
Activity
3w
Reply to Best practice Replacement for Edit Button on iPhone Duo
Thanks Travis. I'm using UIKit. I've already implemented my own custom Edit/Done button using icons and it is working fine. I'm curious about the .axisBehavior you show in the SwiftUI code. Is there a UIKit equivalent? I don't see any mention of axisBehavior in the Xcode 27.1 developer documentation. And I don't see anything similar for UIBarButtonItem (or UIBarItem).
Topic: UI Frameworks SubTopic: UIKit Tags:
Replies
Boosts
Views
Activity
3w
Reply to Best practice Replacement for Edit Button on iPhone Duo
I'm dealing with issue as well. So far I'm changing my standard Edit buttons to use the "pencil" icon (no circle or square outline). And for the standard editButtonItem ("Edit"/"Done") button, I'm using "pencil" and "checkmark". An enhancement request should be filed requesting that these standard buttons be updated for the Duo to use icons as appropriate so every app doesn't need to create their own solution.
Topic: UI Frameworks SubTopic: UIKit Tags:
Replies
Boosts
Views
Activity
3w
Reply to Window size of iOS app running on Mac
You can set a min and max size in the UISceneDelegate method scene(_:willConnectTo:options:) by accessing the sizeRestrictions property of the UIWindowScene. Here's an example: func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { guard let winScene = scene as? UIWindowScene else { return } if let sizes = winScene.sizeRestrictions { sizes.minimumSize = .init(width: 640, height: 480) // No smaller than 640x480 sizes.maximumSize = .init(width: .max, height: .max) // As big as the user wants } }
Topic: UI Frameworks SubTopic: UIKit Tags:
Replies
Boosts
Views
Activity
Apr ’26
Reply to Does Mac Catalyst support Background Processing?
@DTS Engineer I really appreciate the response. Very helpful. After looking into SMAppService, it does seem like a launch agent is most appropriate. The biggest issue I have now is trying to figure out how to make this work. My app and its needs are very far from simple. I have a very large data model that is stored locally in a SQLite database and the user can optionally choose to sync their data via iCloud (CloudKit). Trying to figure out how refactor all of the existing code and logic that deals with CKSyncEngine syncing, reading and writing the SQLite database, and updating the in-memory data model into the launch agent, all in a way that can be coordinated with the main GUI app (when it might happen to be running), it going to be, shall I say, challenging. Oh, and doing this in such a way that doesn't change how the iOS version currently works using background tasks.
Replies
Boosts
Views
Activity
Nov ’25
Reply to Xcode Behaviors are BROKEN
Are your issues specific to Xcode 26.2? All of my existing behaviors works just fine with Xcode 26.0 and 26.1.1. I also had no trouble creating new custom behaviors and changing their names. I also had no issue deleting those custom behaviors. Though one note about editing a custom behavior's name. After entering the new name, you need to press the return key before clicking the Done button or the new name won't take. Perhaps that is the issue you are seeing. But I have not tested with Xcode 26.2.
Replies
Boosts
Views
Activity
Nov ’25