Explore the art and science of app design. Discuss user interface (UI) design principles, user experience (UX) best practices, and share design resources and inspiration.

All subtopics
Posts under Design topic

Post

Replies

Boosts

Views

Activity

What is the best way to design a UITabBarController (or Sidebar) combined with a UISplitViewController on iPadOS 18 and later, while avoiding memory management issues?
I'm developing an iPadOS 18+ application that uses a UITabBarController, styled as a sidebar, to serve as the primary navigation interface. This setup includes 20 different tabs, each representing a distinct section of the app. For the user experience, each tab needs to present a master-detail interface, implemented using a UISplitViewController. The goal is to allow users to navigate between tabs via the sidebar, and within each tab, access related content through the split view's list-detail pattern. The Problem: Currently, my implementation involves instantiating a separate UISplitViewController for each tab, resulting in 20 unique split view instances embedded inside the UITabBarController. While this works functionally, it leads to significant memory usage, especially after the user opens each tab at least once. The accumulation of all these instantiated view controllers in memory eventually causes performance degradation or even memory warnings/crashes on lower-end iPads. The Question: What is the best approach to implement this type of architecture without running into memory management issues? Specifically: Is there a way to reuse or lazily load the UISplitViewController instances only when needed? Can we unload or release split view controllers that haven't been used for a while to reduce memory pressure? Would a custom container controller be more appropriate than using UITabBarController in this case? Are there iPadOS 18+ best practices or newer APIs that support this kind of complex multi-tab, multi-split-view structure efficiently? Any advice on how to optimize memory usage while preserving the sidebar navigation and split view layout would be highly appreciated.
0
0
195
May ’25
Poor Rendering of Liquid Glass Icon on Device
Hey there, I redesigned my apps icons for Liquid Glass in the icon composer app. I have to say it's been a pleasure to use and my icons look stunning when rendered in the icon composer app, whatever rendering mode and context I've been testing. But once in a developer release on my device (iOS 26 beta 3), the rendering is very disappointing. They look blurry, very far from what icon composer is showing. I would like to know whether I have a design issue, or if the current state of the beta release is known to not render icon properly. I'm kind of panicking :)
Topic: Design SubTopic: General
1
0
1k
Jul ’25
NFC Bottomsheet customization
Hi all, I wanted to check whether the NFC bottom-sheet UI shown by iOS during an NFC reading session can be customized. We have a Figma design (attached) for how the sheet should look, but we are not sure whether iOS allows modifying the default NFC UI. Is UI customization supported, or is the bottom sheet fully controlled by the system? Thanks in advance.
Topic: Design SubTopic: General Tags:
1
0
491
Dec ’25
glassEffect() in SwiftUI always renders as white
Hi everyone, I’m having trouble getting the new glassEffect() modifier to render correctly in SwiftUI. No matter what I try, it just appears as a solid white background (instead of translucent glass). This happens both in Beta 1 and Beta 2. My setup: • Mac mini (M4 chip) • macOS 26 Beta 2 (Tahoe) • Xcode 26 Beta 2 • Samsung Odyssey G9 57” monitor (super ultrawide) • Using Preview in SwiftUI, I use IOS 26 Beta 2 (not the Simulator) Even when I use Apple’s default demo code like: Text("Hello World") .padding() .glassEffect()
Topic: Design SubTopic: General
1
0
113
Jul ’25
How does Apple achieve this effect?
Hi everyone, I'm new to building apps on Swift and recently I've been wondering how does Apple get this blur effect behind the control center on Mac OS Tahoe. I think it would be nice to use in an app that I'm making but I can't seem to find it in the docs. Is it available through AppKit? I would appreciate some help on this
0
0
619
Dec ’25
iOS 26 beta 3 bug report
In the clock app when making an alarm for myself to wake up, I found this bug where If you swipe left On an alarm without deleting it and then Swipe right it does a goofy visual glitch where it teleports to the top of your screen.
Topic: Design SubTopic: General
1
0
520
Jul ’25
Window Title Justification OS 26 Tahoe
I am working on a Mac App that was developed with Objective C and Interface Builder. In earlier versions of Mac OS the window title was centered. Now in Tahoe it's left-justified. Is there some way to set this? There is no setting for this in Interface Builder and I can't see any way to do it programmatically by reading the developer documentation. Is this even possible?
Topic: Design SubTopic: General Tags:
2
0
888
Dec ’25
Allow mildly translucent values for iPadOS app .png icons
I've been playing around with the recently published iPad PRO M5 13" and it's awesome in most ways I've been able to think of. But this video capture of the app I'm developing, for example, lacks it the app icon "should" be just slightly translucent as I see it. https://youtube.com/CAukICBrVzw However I'm not and UI/X person and this is primarily my personal preference only for an option to allow for devs.
1
0
1k
Dec ’25
Sketch templates for watchOS 11 / Series 10?
Hi, I'm getting started with designing and coding a watchOS app. I wanted to use Sketch to plan the UI before I dive into coding, but it seems like the official Sketch templates on the Design Resources page only have templates for the Series 8 and SE 2 on watchOS 10. I want to use the Series 10's screen size for my layouts since it's the model I have, but I can't find a template for it. Will the official templates be updated for the new models? If not, does anyone know of a third-party template I can use? Thanks in advance!
Topic: Design SubTopic: General
0
0
95
Mar ’25
Panel Toggle Glitch
Development environment: Simulator: iOS 26 beta 3 iPhone 16 (for testing) Simulator 2: iPadOS 26 beta 3 iPad Air 13 inch (M3) (for testing) Connected Device: iPadOS 26 beta 3 iPad Pro 11 inch (M4) (for testing) Dev Device: macOS Tahoe 26 beta 3 Macbook Air When using the NavigationSplitView element, the sidebar has a built-in panel toggle button. However, when I click the toggle button to toggle the sidebar section in SwiftUI 26 on both simulator 2 and the connected device, it has a slight animation glitch before going back to normal. What's going on? This is my code for the specific view that has the NavigationSplitView (and all views are connected through TabViews): RecordsPage.swift Here are image references: When I clicked the toggle: After 1~2 seconds: These images are in the state of the panel being hidden.
Topic: Design SubTopic: General Tags:
1
0
405
Jul ’25
Few screen tap feedback ideas (and implementation YouTube video)
I've been playing around with iPad PRO M5 13" as part of my goal to implement some music relating SPH particle simulation effects on it - and this involves utilizing tap events also from the incredible looking fresh screen the device has. See more information from here, all should be overreactively implemented but the ideas remain (with almost zero cost copy fragment shader) : `https://youtu.be/ci-GSgQ0wlM` This attached image shows the tap effects implementation brought just bit a little further than in the video.
1
0
1.1k
Dec ’25
Design Challenges with persistent toast message
I have an ongoing activity in progress. Think of: a delivery in progress house internet reboot in progress some water / electricity / internet / tv outage. (food) order processing I want to show a persistent toast message above the tab bar, across all tabs and screens across the app. It could take 15 minutes until the activity is finished. Obviously there's a challenge of: accessibility content overlaying with each other extra engineering effort. What we've thought of doing is: Option1: show a toast message, but when a modal is presented then it presents on top of the toast message. The toast message no longer updates itself. Once the modal is finished, then the toast message re-appears and continues to update. Option2: keep the toast message across all tabs and modals and work through the challenges mentioned Question: What are some other design approaches that could be taken to persist an ongoing activity (much like 'Live Activity', but just across the app when it's in foreground) or what are some design reasons that the two options considered are bad?
0
0
201
May ’25
Bug on Settings Search Menu - Showing Always On Display for iPhone 14 Plus
We all know that the feature “Always On Display” is available only on pro models. I checked in iPhone 14 Plus, that feature became visible in “Search” menu under “Settings”. If a user types “Displa”, then the search results show “Always On Display” as a result. When I click on that, it navigates inside “Display and Brightness” and we found no toggle for “Always On Display”. So, displaying the same on search result is a big bug which needs immediate attention from Apple. Users are getting confused whether iPhone 14 plus has that feature or not.. **Possible reason: ** I believe Apple releases iPhone OS versions in a single release each time and must be applying any kind of feature flagging to enable / disable a feature in a version or for a model. The feature flagging might not be working with Settings menu’s Search service or the code is not properly modular.
1
0
389
Jul ’25
Animating items between a VStack and a ZStack?
Hey there! I'd love to know if theres a way where you can animate items between ZStack and VStacks? Just like the native iOS notifications on the Lockscreen stack at the bottom and if tapped, they convert from a Stack to a List - I have a list with items, displayed in a VStack, and I make the list collapsable when swiping down, where the items stack behind eachother with a progresisve reduction in opacity & scale, but I havent figured out a way to animate the items between the list and the stack - where you can visually see items starting to overlap and stack ontop of eachother when collapsing the list.
0
0
146
May ’25
NSStatusItem Visibility Issue in AU Audio Plugin - Logic Pro vs Other Hosts
Target: MacOS 11.1 and above C++, Juce 8, XCode 16.2 Testing: Sonoma 14.5 Logic Pro (latest version), Reaper 7.34, Pro Tools 2023.12 and 2025.6 I'm developing an audio plugin that creates an NSStatusItem ("menu bar status icon" or MBSI for short) to provide visual feedback for one of the components. I've encountered a Logic Pro-specific behavior that I'd like to fix. I'm building for Mac-only, Intel and Silicon, and for AU/VST3/AAX. Summary: The NSStatusItem for the MBSI is created successfully and functions properly in some hosts (Reaper (AU and VST3), Pro Tools (AAX)) but isn't visible in Logic Pro, despite identical API behavior. Details: NSStatusItem Creation: implementation using [[NSStatusBar systemStatusBar] statusItemWithLength:NSSquareStatusItemLength] All API calls report success in both working (Reaper) and non-working (Logic Pro) hosts. Logging shows Logic Pro and Reaper create the NSStatusItem with the same properties: Window frame: {{0, -36}, {38, 36}} (both hosts) statusItem.visible: YES (both hosts) Button exists and responds to state changes (both hosts) Y coordinate is -36 pixels (above visible screen, both hosts) In Reaper, I can see the MBSI but in Logic Pro I can't. Note: the MBSI has no functionality beyond visual feedback. It's not clickable nor does it create a corresponding menu. Questions: Are there known differences in how Logic Pro's AU hosting service handles system UI elements compared to other hosts? And if so, is there guidance on AU plugins accessing system UI elements like the menu bar? Link to NSStatusItemTest.component: https://app.box.com/s/i3rq0hii3qf43iojrayc17fsfq7fnssd Link to video showing issue: https://app.box.com/s/icefqk898timqov77t468lqtio0rjqul Link to Console output for testing in Reaper vs Logic Pro: https://app.box.com/s/ph6nv1lmozo3phtjx3md6abdms5atgg6
Topic: Design SubTopic: General Tags:
0
0
319
Jul ’25
Xcode 26 Beta 3 – SwiftUI Previews & Project Window State Broken After Minor Edits?
Hi everyone, since updating to Xcode 26 Beta 3, I’m seeing some really strange behavior. I just changed the color of a Color asset in my SwiftUI view – literally just switched from one named color to another – and suddenly: • Previews stopped working completely, with vague or no error messages. • Even when I changed the color back to what it was before, the previews still refused to build. • In addition, Xcode no longer restores the open tabs/windows when reopening the project. It just shows a blank editor every time I open it. This all happened without touching any project settings or code structure – just a simple color swap. Has anyone else run into this with Xcode 26 Beta 3? Would love to know if it’s a known bug or if there’s a workaround (besides nuking Derived Data, which I’ve already tried). Thanks!
Topic: Design SubTopic: General
0
0
212
Jul ’25