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

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
323
Jul ’25
Effect liquid glass on app icon
Why my app icon doesn't have effect liquid glass on ios26. My team dev still not upgrade to xcode26, so I have to export icon for them. And I don't see the effect like stroke of the detail.
Topic: Design SubTopic: General
1
0
747
Oct ’25
Adobe XD throws error when loading UIKit resources Sketch file
Hi there. I want to use Adobe XD for designing and prototyping apps, and I would like to get the UIKit design resources working. I downloaded it and tried to open it with Adobe XD, but it threw this error: There was an error opening the file Apple iOS 26 UI Kit.sketch (Error code: 115) I really prefer to use the UIKit in Adobe XD rather than paying for Figma or Sketch. Thanks. Apple Design Resources
Topic: Design SubTopic: General Tags:
1
0
834
Jan ’26
Testing In-App Purchases
Hi, I have a couple of questions in regards to testing in-app purchases. I tested the subscription on a device but I'm not sure how to reset so I can test again. I didn't see the subscription in device settings or in Debug -> StoreKit -> Manage Subscriptions window. Additionally, I was wondering if there was a way to detect the subscription being made. I implemented this, but I'm not sure if that will work: .onChange(of: Product.SubscriptionInfo.RenewalState.subscribed) { if Product.SubscriptionInfo.RenewalState.subscribed == .subscribed { } }
13
0
424
Jul ’25
Questions about the Swift Student Challenge
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.
2
0
275
4w
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
523
Jul ’25
iOS Screenshot Markup – Rounded Crop Tool (UI Concept)
🔍 Context The built-in screenshot editor in iOS and iPadOS (Markup tool) only allows users to crop images using rectangular frames. While this is sufficient for basic editing, it lacks flexibility for those who wish to tailor the screenshot to the aesthetics of iOS itself — which relies heavily on rounded shapes and smooth UI elements. ⸻ 🚫 Current Limitation • After taking a screenshot and opening it in Markup, users can only crop in rectangular or square formats. • No option is available to apply rounded corners to the crop. • As a result, many users are forced to use third-party apps just to achieve a basic rounded-edge crop, which feels unnecessary for such a common need. ⸻ ✅ Proposed Solution Add a rounded corner cropping feature to the screenshot editor. This could be implemented as: • A toggle to activate “Rounded Crop”. • A radius slider (or predefined corner radius presets). • Optional: an export option to save the result with transparent background, useful for designers and mockups. ⸻ 🎯 Why it matters • Aligns better with the iOS design language (cards, notifications, widgets, etc.). • Saves time for users who currently have to rely on external editing apps. • Greatly improves the presentation of screenshots for social media, UI/UX mockups, blogs, and professional use cases. • Useful across many professions: developers, designers, content creators, educators, marketers. ⸻ 📷 Visual Example Here’s a mockup to illustrate the proposed feature: (Add your image here) ⸻ 💡 Bonus Suggestion Allow exporting with a transparent background when cropping screenshots — especially useful for rounded crops or mockups placed on colored backgrounds.
Topic: Design SubTopic: General
1
0
281
Aug ’25
Using macOS-Sequoia-Production-Templates-Sketch
Hi, I was trying to use macOS-Sequoia-Production-Templates in Sketch format and when I try to export png icon file of the document template, it always includes grey nontransparent background which I am unable to delete. In contrast, exporting png app icon file from another template has transparent background and exports well. Is it something wrong with the document icon production template? How can I export document png icon file with transparent background?? Thanks
Topic: Design SubTopic: General
1
0
145
May ’25
IS THE SWiPE LEFT CAMERA MODE REALLY IMPORTANT?
I have really examined the swipe left Camera function mode and sincerely believe it is no more important especially when there no option in the settings to turn it on or off. I will highly recommend a total scrap in the iOS 26 or if possible a function to activate and deactivate it.
Topic: Design SubTopic: General
3
0
344
Aug ’25
Keyboard dismissed when switching apps
Scenario is when keyboard is opened within the app being developed then switch to other app, for instance, Notes app and create a note to enable keyboard from there. While the Notes app keyboard is active switch back to the developed app the keyboard in it is dismissed. Any thoughts?Thanks
1
0
103
Apr ’25
New to macOS Development. How Do I Build a Timeline Editor UI Like Logic Pro?
Hi everyone, I’m new to macOS development and working on an app idea that needs a timeline-based editor interface, similar to what you see in Logic Pro or Final Cut. The UI I want to build would have: A horizontal beat ruler that follows BPM and shows beat positions Several vertical tracks stacked below it (for things like events or markers) Horizontal zooming and scrolling A preview panel on the right side that stays in sync with the timeline I’m currently trying this in SwiftUI, but I’m running into some limitations and wondering if AppKit would be a better fit, or maybe a hybrid of the two. My questions: Where should I start when building something like this? What’s the best way to make the beat ruler and all track layers scroll together? How should I handle zooming in/out and syncing the display to a BPM timeline? Is there a clean way to integrate AppKit for the timeline view while keeping SwiftUI elsewhere?
1
0
151
Jun ’25
unable to optimize App for iPad
I use swiftui to build apps on iPhone and iPad. There is no problem with the iPhone app. The game display is fully shown on iPhone. However, for the iPad, the game display is not shown and the screen goes black. I had to tap the button on the upper left side.(looks like a side view button) After that, the game display is only shown in the left side in a very small size. How can I make the game display fully shown in the iPad?
2
0
143
Apr ’25
Stacked-sheets vs. nav-stack-in-a-sheet for navigation hierarchies on top of a map
I couldn't help noticing that the Maps and Find My apps make extensive use of "sheets stacked on top of each other" to represent its navigation hierarchy, with a "new content comes in from the bottom" orientation instead of a navigation stack with "new content comes in from the right side" oriented transitions. I'm interested in this topic because I have a similar navigation-hierarchy-over-a-map case in my app (with a custom map view though) and I'm torn back and forth between the approach of replicating the "stacked sheets" vs. putting a navigation stack in a sheet, esp. with the navstack approach being way more attainable with the iOS 26 glass design. I couldn't find any guidance for this kind of UI in the Human Interface Guidelines; I'm leaning towards the navstack-approach for my app; but in terms of the behavior of the SwiftUI container views in this scenario it seems a little bit of an uphill path. Any thoughts on what pattern should be preferred for presenting a deep navigational hierarchy on top of a map-like view?
Topic: Design SubTopic: General
1
0
313
Jul ’25
NFC innovation
Existing smartphones store multiple NFC card information. When the NFC antenna of the phone is close to the card reader, it is usually necessary to open the APP to select NFC card information or default to one card information to be transmitted to the card reader. It is not possible to quickly select or switch cards among multiple cards. For example, after using the NFC function to swipe the subway card, the phone needs to open the car access control and community access control again. It is necessary to open the mobile NFC card information management APP to select the community access control card and then swipe the mobile NFC access control, which causes inconvenience. (现有的智能手机存储多个 NFC 卡信息。当手机的NFC天线靠近读卡器时,通常需要打开APP选择NFC卡信息或默认一个卡信息传输到读卡器。无法在多张卡之间快速选择或切换卡。例如,使用NFC功能刷完地铁卡后,手机需要重新打开车内门禁和小区门禁。需要打开手机NFC卡信息管理APP选择社区门禁卡,然后刷手机NFC门禁,造成不便。) Divide the smartphone screen into multiple areas, and users can freely define corresponding NFC information for each area. When the screen is turned off and not unlocked, select NFC card information by pressing different screen areas with your fingers. When the mobile NFC is close to the card reader, the selected card information will be transmitted to the reader(将智能手机屏幕划分多个区域,每个区域手机用户可以自由定义对应NFC信息。在熄屏’不解锁的情况下,通过手指按压不同屏幕区域选择NFC卡片信息,手机NFC贴近读卡器时将选择的卡片信息传递给读卡器。) Below, the method will be further explained in conjunction with the accompanying drawings and embodiments. Figure 1 is a schematic diagram of a utility model; Figure 2 is the flowchart of the present utility model; NFC reader, 2. Mobile screen partition, 3. NFC signal in Figure 1. In Figure 2, 1. Press the area of the screen partition with your finger. 2. Place the phone close to the NFC reader. 3. The phone senses the returned NFC signal. 4. The phone detects the pressed area.( 下面结合附图和实施例对方法进一步说明。 图1为实用新型示意图; 图2为本实用新型流程图; 图1中1.NFC读取器,2.手机屏幕分区,3.NFC信号。 图2中1.手指按压屏幕分区的区域2.手机贴近NFC读取器3.手机感应到返回的NFC信号4.手机检测到按压的区域,5.是否检测到手机用户按压区域的动作,6.检测到按压区域,根据按压区域做出匹配相对应的NFC的动作7.选择用户所需的NFC卡8.NFC卡收到信息并发出卡片信息9.NFC读卡器收到NFC卡的信息。) For example, a smartphone user has N NFC virtual cards in their phone. Users can divide the smartphone screen into N areas, distinguished as A area, B area, C area..., each area controls different NFC. When a smartphone user holds down the B area that controls NFC (such as virtual access cards) and brings the phone close to the NFC card reader (such as access control). The mobile phone will sense NFC signals (access control signals), triggering the phone to detect the area that the user is pressing. There are two possibilities. Firstly, if the user's pressing action is not detected, the NFC card corresponding to the default A zone (set as the default here) will be selected. If the user's pressing action is detected and it is detected that the pressing is in Zone B (the partition corresponding to the access card), then the NFC information corresponding to Zone B is triggered. The smartphone receives this message, and the corresponding NFC sends out a card message. The NFC card reader (access control device) receives the message and reacts (door opens).(例如,一智能手机用户手机中有N个NFC虚拟卡。用户可以将智能手机屏幕分为N个区域,分辨为A区、B区、C区······,每个区域分别控制不同的NFC。当智能手机用户按住控制NFC(如虚拟门禁卡)的B区域并将手机靠近NFC读卡器(如门禁)。手机将会感应到NFC信号(门禁信号),触发手机检测用户正在按压的区域。有两种可能性,第一没有检测到用户的按压动作则选择默认的A区(这里把A区设为默认)所对应的NFC卡。第二检测到用户的按压动作并检测出按压的是B区域(门禁卡所对应的分区),则触发B区域所对应的NFC信息。智能手机收到此信息,相对应的NFC发出卡片信息,NFC读卡器(门禁设备)收到信息,做出反应(门打开)。) 图1 image1 图2 image2
Topic: Design SubTopic: General
1
0
423
Sep ’25
.Net MAUI (Windows & Mac)
What is the step-by-step process to run an iOS application paired with the Mac in my MAUI project? I am using Windows with Visual Studio 2022 V17.13.5. Application: Multiplatform; Language: C#; Framework: MAUI 8; Xcode: 16.2; Objective: Identify and fix the issue to allow the application to run correctly.
Topic: Design SubTopic: General
0
0
202
May ’25
Complex Swift Data Relationships...
I am struggling with exactly how to set up SwiftData relationships, beyond the single relationship model... Let's say I have a school. Each school offers a set of classes. Each class is taught by one teacher and attended by several students. Teachers may teach more than one class, but only at one school. Similarly students may attend more than one class, but only at one school. Classes themselves may be offered at more than one school. Can someone create a class for School, SchoolClass, Teacher, and Student with id, name, and relationships... I have tried it unsuccessfully about 10 different ways at this point. My most recent is below... I am struggling getting beyond a school listing in the app, and I'll cross that bridge next. I am just wondering if all the trouble I am having is because I am not smart with the class definitions. And wondering if this is to complex for SwiftData and CoreData is the requirement. This is not a real app, just my way of really trying to get a handle on Swift Data models and Navigation. I am very new to Swift, and will take any and all suggestions with enthusiasm! Thanks for taking the time. import Foundation import SwiftData @Model class School: Identifiable { var id: UUID = UUID() var name: String var mascot: String var teachers: [Teacher] var schoolClasses: [SchoolClass] init (name: String, mascot: String = "", teachers: [Teacher] = [], schoolClasses: [SchoolClass] = []) { self.name = name self.mascot = mascot self.teachers = teachers } class SchoolClass: Identifiable { var id: UUID = UUID() var name: String var teacher: Teacher? var students: [Student] = [] init (name: String, teacher: Teacher? = nil, students: [Student] = []) { self.name = name self.teacher = teacher self.students = students } } class Teacher: Identifiable { var id: UUID = UUID() var name: String var tenured: Bool var school: School? var students: [Student] = [] init (name: String, tenured: Bool = false, students: [Student] = []) { self.name = name self.tenured = tenured self.students = students } } class Student: Identifiable { var id: UUID = UUID() var name: String var grade: Int? var teacher: Teacher? init (name: String, grade: Int? = nil, teacher: Teacher? = nil) { self.name = name self.grade = grade self.teacher = teacher } } }
Topic: Design SubTopic: General Tags:
6
0
786
Jul ’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
122
Jul ’25