I'm using a NavigationSplitView on macOS which needs to show 2 or 3 columns depending on the selection of the sidebar.
Column 1 has a list of main activities. Some of these just have some data to show and some have a sublist.
Currently, when an item that has no sublist is selected, I set the 2nd column (content:) to:
Spacer()
.navigationSplitViewColumnWidth(0)
This works, although it started hitting bugs requiring a workaround on macOS 26, which got me wondering, what is the correct approach here?
NavigationSplitViewVisibility.doubleColumn is not the solution, as this hides column 1, not column 2.
General
RSS for tagExplore the art and science of app design. Discuss user interface (UI) design principles, user experience (UX) best practices, and share design resources and inspiration.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Hi, I just had V1.0 of my app approved on the App Store and I immediately noticed that the icon preview is broken.
It looks good in Xcode, on-device and also in the App Store link preview.
The icon was built with Icon Composer.
Here's the difference (left is App store):
Has anyone encountered the same issue and found a solution?
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
I'm coding an iPhone app using Swift and I'm getting this scoping error. Attached.
Hi,
It would be sure if Apple creates a Fgima plug in to convert designs to SwiftUI, no one can do it like Apple and it would be SUPER and super time saving !
--
Kind Regards
1/自从更新26.0版本 页面好看但是应用和主界面使用体验非常差很卡
2/苹果键盘功能有待优化 表情和语音文字识别还有键盘设置
3/还有手机发热卡顿 导致非常多的使用不方便 苹果官方请优化以上问题
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.
Hello! I've been wondering about how strict the rules are for multilingual content in submissions, and also what I can use as screenshots.
There are screens in my app, explained and accompanied by English, that have Chinese text/audio on them. Is this appropriate?
Reading the Terms & Conditions says that "All content must be in English", but because multicultural themes are a main point of my app, it seems unavoidable to use other languages. I've attached images that show what I'm talking about:
About the screenshots in my submission, am I allowed to show two screenshots side-by-side of a before & after of what an interaction does in one image? It'd look like two phone screenshots right next to each other.
Hi,
I want to generate some sample datas for demonstrating the functions of my app when the app launched. My codes are as followings:
func generateSampleData() {
let hasLaunchedKey = "HasLaunchedBefore"
let defaults = UserDefaults.standard
if !defaults.bool(forKey: hasLaunchedKey) {
//generate the demo data
}
defaults.set(true, forKey: hasLaunchedKey)
}
And I put the func in a view's onAppear modifier. I found every time I go the view, it generates the demo data again, which results in producing a lot of demo data. But I have set the status of the function running in the userdefault. Why did it happen?
Best Wishes,
I’m currently using the iOS 26 Developer Beta and noticed the new icon design for the Camera app. Personally, I preferred the previous icon it looked cleaner, more elegant, and felt more in line with Apple’s signature iOS design language.
The new icon feels more like something you’d expect from Android. It lacks the minimalist, refined style that usually defines iOS icons. I understand UI evolves over time, but this change feels like a step away from what makes Apple’s design philosophy unique.
Just wanted to share this honest feedback as a long-time user and developer. Thanks for considering!
As a very exclusive Apple only I want to share my thoughts on the new iOS 26 update, which I recently installed on my iPhone 16. While I genuinely appreciate Apple’s drive for innovation and personalization, this update introduces visual and stylistic changes that, in my opinion, compromise what has made iOS feel uniquely Apple for so long.
Liquid Glass & Home Screen Aesthetics:
When I first saw previews of the “Liquid Glass” design, I was excited. I assumed it would add more flexibility to things like the home screen customization — something like an optional effect that builds on the popular app tinting feature introduced in the previous iOS version. But instead, it appears that the Liquid Glass look is now the default and, more concerningly, unavoidable.
The result is a visual experience that feels dramatically more bubbly and less refined. App icons appear more rounded and inflated in a way that — and I say this as constructively as I can — reminds me more of Android or Samsung’s One UI than of Apple’s signature design language. For someone who’s chosen Apple specifically because of its clean, crisp, and elegant UI, this shift is disappointing. iOS has always felt visually mature and thoughtfully minimal. With this update, it starts to feel overly stylized and visually heavy, which I don’t associate with Apple’s identity.
Camera App – Icon Design:
While I don’t have major concerns with the layout of the Camera app itself, the new Camera app icon is something I feel very strongly about. The previous design was balanced, clear, and professional — instantly recognizable. The new icon, is completely different, and it has more the camera that look like the actual iPhone camera, which I can respect the want to identify the app the iPhone. But this is not the effect I felt it has, I feel like it is less professional than before, which again makes me think a little bit about androids. This minor change feels bit because icons are what we see every day, and this one doesn’t feel quite right for Apple.
Along with the new camera icon, the other new icons like the notes app, and the slight change in the message app icon, these small shifts aren’t ones I was overly pleased with, kind of felt like something that wasn’t broke and didn’t need fixed
Messages App:
The Messages app is where I felt the biggest disconnect. The updated keyboard with the “keys” looking more bubbly which again, makes me think android. And with the new monogram icons (initials in thick fonts with purple backgrounds), make the app feel — again — much more like an Android UI. While that might sound superficial, it doesn’t make me feel like it’s an iPhone.
As someone who’s always preferred the Apple system, I’ve come to expect a particular standard of visual design — one that’s distinct from other platforms. This new look blurs that line. The once refined look of Messages is not as clean and simple as it used to be. I also preferred the gray background for monogram icons. The new colors and heavy fonts draw attention in ways that don’t feel as clean and simplistic which I have loved Apple for in the past.
Control Center:
Another area where I noticed a slight change is the Control Center. It’s not a big difference to the previous one, which I liked. The main difference I noticed was the brightness and sounds “bar” seems more elongated. Not a major difference but I would rather see the older design if I were to be honest.
What I Did Like:
There are some positives: I think the new lock screen notification styling works well, and the Liquid Glass effect looks great in that specific context. I actually really like the looks that it has with the notifications on the lock screen, having it be that transparent gives a clean and simple look. Lots of the new things that can be done in this update are very nice and convent, the more customization is great.
Final Thoughts:
To be clear, I offer this feedback not because I’m resisting change, but because I value what makes iOS feel like iOS. This update, while visually bold, feels like a departure from Apple’s strengths — the clean and simplistic look. If there’s one big takeaway I hope you’ll consider, some of the new looks that have been put in place give a feeling that’s not Apple, and more Android. it’s that many of these new visual styles would be better received as optional customizations, not system-wide defaults.
I would love to see an update to help fix some of this. I don’t believe there is a way to “un-update” my phone but if I could I would, even though some of these new things do look and feel good.
The brand new animation in Stage Manager greatly reduced dizziness. However, don’t know why it ONLY applies when no window was presented. What would be the problem elsewhere?
Stage Manager is one of pretty few motion pictures that annoyed me and forced me to turn on Reduce Motion, or stop using Stage Manager. Big pity…
macOS 26.0 (25A5346a)
wont use ipad to post…
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.
I am trying to resize a Window Form after it loads and have done quite a bit of searching for code to do it.
Here is one code snippet that works to size the form during the design phase.
self.view.window?.contentMinSize = CGSize(width: 1100, height: 310)
I have tried code like below to increase the window size after the Form loads
if let myWindow = self.view.window ?? NSApplication.shared.mainWindow
{
// Increase window size and position after it loads
let newRect = NSRect(x: 100, y: 100, width: 1400, height: 900)
}
It seems that this code not only changes the Form size after loading, but also changes the size of the Form in Main.swift, which is something I don't want.
I read elsewhere that I had to disable constraints to resize the Form, so I tried code below.
let tableView = NSTableView()
tableView.translatesAutoresizingMaskIntoConstraints = false
let newRect = NSRect(x: 100, y: 0, width: 1100, height: 600)
myWindow?.setFrame(newRect, display: true)
That code did not seem to do anything as well.
Also, the Form displays in the lower left of the screen.
Note that main reason I want to resize the Form after loading is to keep it smaller during design development. The same goes for the NSTableView, which I have not gotten to yet.
This is my first attempt at creating a Wallet pass, actually a generic store card. When I see it with Pass Viewer on macOS, I get 1 look, when I see it with the iPhone simulator or iPhone proper, I get a different view. Neither is what I was hoping for, a simple vertical layout of an address.
Could someone steer me in the correct direction?
My json:
"formatVersion": 1,
"passTypeIdentifier": "pass.org.danleys.4KSBarcode",
"serialNumber": "__SERIAL__",
"teamIdentifier": "----",
"organizationName": "4 K.I.D.S. Sake",
"description": "4KSBarcode",
"logoText": "4 K.I.D.S. Sake",
"foregroundColor": "rgb(255, 255, 255)",
"backgroundColor": "rgb(255,0,0)",
"storeCard" : {
"primaryFields" : [
{
"key" : "ClientID",
"label" : "",
"value" : ""
}
],
"auxiliaryFields": [
{
"key": "street",
"label": "Address",
"value": "339 Remington Blvd"
},
{
"key": "city",
"label": "",
"value": "Bolingbrook, IL 60440"
}
]
},
"barcode": {
"format": "PKBarcodeFormatCode128",
"message": "__SERIAL__",
"altText": "__SERIAL__",
"messageEncoding": "iso-8859-1"
}
}
On macOS:
On iOS:
Thank you.
Ed
I have accidentally missed the sign up window for the UX Writing lab by 1 hour, but I'd still love to join it if at all possible. I have had this lab several times in the past and it was always very informative.
I have a time tracking app that helps people make the most of their time. https://apps.apple.com/us/app/timelines-time-tracking/id1112433234
I'm looking for guidance on how to improve copywriting in my onboarding sequence, on my paywall, and overall throughout the app.
Thank you for considering. My Apple ID is lukas[at]glimsoft.com.
Hi everyone,
I’m currently testing iOS 26 on my iPhone as part of the developer program. According to Apple’s documentation and demo materials, a new screenshot animation was introduced in this version. However, when I take a screenshot on my device, the animation remains the same as in previous iOS versions.
I’ve double-checked that I’m running the correct build of iOS 26, and I haven’t found any settings that might enable or disable this feature.
Is anyone else experiencing the same issue? Could this new animation be device-specific, region-limited, or require additional configuration?
Any insight would be appreciated!
Thanks in advance,
Alonso Rivera
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.
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.
I have some questions about Liquid Glass and iOS 26 on the iPhone.
Routine scrolling transactions in any view are causing the title to change from Light Mode colors to Dark Mode colors. Is this now standard operation? The column headers are also displaying a black stripe across the top of the screen when scrolling. So why doesn't the display shift when in Dark Mode to Light mode?
Scrolling is causing everything in the header (navigation title, time, battery status, and wi-fi status) to change from black to white.
Is this an accessibility action that I may have turned on by accident?
I'm not very thrilled by this behavior!