Post

Replies

Boosts

Views

Activity

Reply to Disable new tab bar look
That's not possible as of now. I have filed a feedback for this: FB13840897 In my app I did adopt UISplitViewController to show a sidebar when the window is large enough or a tab bar in compact size classes. For that to work I had to do custom code to restore view hierarchies when switching size classes. Now, UITabBarController has this behavior for free, but I don’t want to adopt the new top tab bar in my app, because it breaks my layout and I just don’t like the look and feel of it. It would be great to have an option to hide the top tab bar, while keeping the sidebar visible and show the bottom tab bar when switching to compact size class.
Topic: UI Frameworks SubTopic: General Tags:
Jun ’24
Reply to Disable new tab bar look
I have taken the time to write a blog post about all the issues I see with this new tab/sidebar design. If you're interested feel free to take a look and file similar feedback so we can have a better system in the Fall! https://gamery.app/blog/about-the-new-tabs/
Topic: UI Frameworks SubTopic: General Tags:
Jun ’24
Reply to Stickers broken on iOS 18 / iPhone 16 after restoring from backup
For science I did a few more restores and I think I found the issue. iPhone 16 ships with a pre-final special build of iOS 18. During setup I restored my iPhone 15 backup onto the device. After setup I was greeted with a new iOS 18.0 update, which brings it up to the final, public build. I think the pre-release build broke the stickers database. When I tried to restore the iPhone 16 backup again (with the broken database) it obviously did not work. So I tried restoring the iPhone 15 iCloud backup (where the stickers still worked) to the now final iOS 18.0 update. And guess what, everything's fine and dandy. It appears the issue truly is that iOS 18.0 build the phone is shipping with. Why or how many people experience this issue, I don't know, but from what I gather from forums, it's quite a few.
Topic: Community SubTopic: Apple Developers Tags:
Sep ’24
Reply to Core Data, Swift 6, Concurrency and more
I have filed FB18216356 on the crash and FB18216198 for the warnings which are caused by having everything be on the MainActor because of the defaultIsolation settings, but the Core Data model creates a class gen without specifying nonisolated, which makes it impossible to modify a managed object from a background context?
Jun ’25
Reply to UITabBarController ignores UITab view controllers when in UITabGroup
Thanks! So I was dumb, though the documentation could be a bit clearer on this. Why is this tab showing up even though it should only be in the sidebar? Happens on both phone and iPad in compact size classes, does not happen for the iPad top tab bar. collectionsTabGroup = UITabGroup(title: "Collections", image: nil, identifier: "collections", children: []) collectionsTabGroup.managingNavigationController = UINavigationController() collectionsTabGroup.preferredPlacement = .sidebarOnly
Topic: UI Frameworks SubTopic: UIKit
Jul ’25
Reply to Replacing the Preferences item in a menu bar
Looks like this is something that works for now, unintended or not. Should that break in the future, I'll add my settings menu item alongside the system one. Thanks! UIMainMenuSystem.shared.setBuildConfiguration(config) { builder in var items: [UIMenuElement] = [] items.append( UIKeyCommand( title: String(localized: "Settings..."), image: UIImage(systemName: "gearshape"), action: #selector(MainTabBarController.showSettings), input: ",", modifierFlags: [.command] ) ) items.append( UIKeyCommand( title: String(localized: "Editor Settings..."), image: UIImage(systemName: "textformat"), action: #selector(MainTabBarController.showSettingsViewController), input: ",", modifierFlags: [.command, .alternate] ) ) items.append( UICommand( title: String(localized: "System Settings..."), image: UIImage(systemName: "gear"), action: #selector(MainTabBarController.showSettingsViewController2) ) ) let menu = UIMenu( title: "Gamery", identifier: .application, options: .displayInline, children: items ) builder.replace(menu: .application, with: menu) }
Topic: UI Frameworks SubTopic: UIKit Tags:
Jul ’25