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.

Learn about designing great app and game experiences

Posts under General subtopic

Post

Replies

Boosts

Views

Activity

Some variable SF Symbols don't work.
Some SF Symbols (wifi for example) render fine with the variable. But many, mostly ones with the circle being variable, do not seem to work. The SF Symbols app shows them rendering with a variable fine. But in code it doesn't work. Am I missing something or is there a reason? var body: some View { HStack { Image(systemName: "01.circle", variableValue: 0.5) Image(systemName: "figure.wave.circle", variableValue: 0.5) Image(systemName: "wifi", variableValue: 0.5) }.font(.largeTitle) } }
Topic: Design SubTopic: General Tags:
0
0
1.2k
2w
About tvOS Material (design resource)
I noticed a discrepancy between the Material specifications for tvOS on the Developer page and the naming in the Design Resources (Sketch files). Which one should we consider authoritative? Apple developer design web page:https://developer.apple.com/design/human-interface-guidelines/materials design resource(sketch)
Topic: Design SubTopic: General
0
0
68
Apr ’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
764
Jul ’25
My experience With IOS 26 Beta
Hello Apple Developers i am here write down my experience with the IOS 26 Beta first off i would like to say that i kind of do/don't like the new iquid glass UI/UIX Designs in some parrts of the ios like in m ust 3rd Party Apps like Uber Lyrith MJ Access Link Moblie app DoorDash VLC And Apple Music App just to name of few since i have installed the beta i have ran into a few bugs i have alread sent to the feeback app via iphone but i'm going to write them here as will i'm not looking for troubleshoots or tech support i'm just shareing my experience with the apple community and the Apple Development/Enginer Team to fine tone for release Time please note that i am a user with Vision impairment so please by respect to me due to my writteing issues and grammer and spelling so here i go my first bug that i ran into on the first day was when i was listening to some music trakcs in the apple muisc app when scrolling down or up fast the app will froze for mill secend then contiune as noraml my second bug that i ran into dureing music play was with my Crossfade settings not working on some tracks im not sure if this is due to BMP alignment or AI algorithm integration with in the software itseif but for me this takes me out of the listening experince that i have when i enjoy listening to music My suggestion Move the AutoMix and Crossfade Settings in to the Apple Music its seif and give the user more controll over how long or how short they want the crossfade or autmix to happen dureing the ending of each tracked play also for the cross fade option is set at 12 increase this to 30 secs or more if possiable or add an BPM options for the Automix to mix in the next track via BMP for simple of my rock track is at 148 BMP the next track should be pop or kpop or rap synceing up with that same BMP speed or similar at 148 BMP my next suggestion for the Apple Music App Shameless track mode (this mode to can be Incorporated) in to the Automix Featrue this redue some music tracks that ends abruptly some MP3 tracks added outside of the Apple Music App seems to broke dureing playback My 3rd bug that i ran in to with the Glass UI for controll Center like i stated before i am Vision impaired with the clear Glass over lapping the current UI for me this hard for me to tell what icons i am looking atside from the Voolum and Brightness Bars i am asking please make this more dark theme and make the icons brigher or add name undernearth the icons or Flip the Dark them or dan the current UI over lapping the Controlor center or add White colors with Black Arrows/icons for all Apple App that has this Glass UI in side of cause this is driving me nuts My 4th Bug that i ran into was with the lock screen/restart/reboot ohh girl where do i began with this one let's with the notifications i don't know who through it was a good idea to have a Clear Bright UI over lapping the Notifications this is very annoying via imessage Texting cause my custom wallpaper Blends in with a white background and this is Worst My suggestion for this is very simple darkering the background on the lock screen abit more so the text is more reader or increase the Notification bars (this is for users like myseif that use Dark mode) My 5th Bug involves my Back ups/Restore/Corrupated < is seif explanatory when i tryed to downgrand back to Version 18.5/18.6 nothing happened so please fix this or make it a bit more easyer for users to be able to back up/Retore their Devices now i has to wait until (Tomttow morning Friday) to factory reset my phone my conclusion since Beta Users and Developers and Engiers are Still testing please take look at my suggestion and try to bring not all but some of them in to public Release Thank You! Update i would like to Downgrad from IOS 26 Developer Beta back to IOS 18.5
0
0
182
Jun ’25
A Summary of the WWDC25 Group Lab - Design
At WWDC25 we launched a new type of Lab event for the developer community - Group Labs. A Group Lab is a panel Q&A designed for a large audience of developers. Group Labs are a unique opportunity for the community to submit questions directly to a panel of Apple engineers and designers. Here are the highlights from the WWDC25 Group Lab for Design. Can you expand on how Liquid Glass helps with navigation and focus in the UI? Liquid Glass clarifies the navigation layer by introducing a single, floating pane that acts as the primary navigation area. Buttons within this pane seamlessly morph as you move between sections, and controls can temporarily lift into the glass surface. While avoiding excessive use of glass (like layering glass on glass), this approach simplifies navigation and strengthens the connection between menus, alerts, and the elements that trigger them. What should I do with customized bars that I might have in my app? Reconsider the content and behavior of customized bars. Evaluate whether you need all the buttons and whether a menu might be a better solution. Instead of relying on background colors or styling, express hierarchy through layout and grouping. This is a good opportunity to adopt the new design language and simplify your interface. What are scroll edge effects, and what options do we have for them? Scroll edge effects enhance legibility in controls by lifting interactive elements and separating them from the background. There are two types: a soft edge effect (a subtle blur) and a hard edge effect (a more defined boundary for high-legibility areas like column sorting). Scroll edge effects are designed to work seamlessly with Liquid Glass, allowing content to feel expansive while ensuring controls and titles remain legible. How can we ensure or improve accessibility using Liquid Glass? Legibility is a priority, and refinements are ongoing throughout the betas. Liquid Glass adapts well to accessibility settings like Reduce Transparency, Increase Contrast, and Reduce Motion. There are two variants of glass: regular glass, designed to be legible by default, and clear glass, used in places like AVKit, which requires more care to ensure legibility. Use color contrast tools to ensure contrast ratios are met. The Human Interface Guidelines (HIG) are a living document offering best practices. The colors and materials pages are key resources. Do you have any recommendations for convincing designers concerned with consistency across Android and Web to use Liquid Glass? Start small and focus on high-utility controls that don't significantly impact brand experience. Native controls offer familiarity and predictability to users. Using the native controls makes sure your app feels at home on the device. Using native frameworks provides built-in accessibility support (dynamic type, reduce transparency, increase contrast). Native controls come with built-in behaviors and interactions. Can ScrollViews include Liquid Glass within them? You can technically put a glass layer inside a scroll view, but it can feel heavy and doesn't align with the system's intention for Liquid Glass to serve as a fixed layer. Think of the content layer as the scrolling layer, and the navigational layer as the one using Liquid Glass. If there is glass on the content layer it will collide into the navigational layer. What core design philosophy guided the direction of iOS 26, beyond the goal of unification? The core design philosophy involved blurring the line between hardware and software, separating UI and navigation elements from content, making apps adaptable across window sizes, and combining playfulness with sophistication. It was about making the UI feel at home on rounded screens. Can we layer Liquid Glass elements on top of each other? Avoid layering Liquid Glass elements directly on top of each other, as it creates unnecessary visual complexity. The system will automatically convert nested glass elements to a vibrant fill style. Use vibrant fills and labels to show control shapes and ensure legibility. Opaque grays should be avoided in favor of vibrant colors, which will multiply with the backgrounds correctly. What will happen to apps that use custom components? Should they be adapted to the new design within the next year? The more native components you use, the more things happen for free. Standard components will be upgraded automatically. Look out for any customizations that might clash. Think about what is the minimum viable change, where your app still feels and looks very similar to what it did. Prioritize changes in core workflows and navigational areas. There are a number of benefits to using native components including user familiarity, built-in accessibility support, and built-in behaviors and interactions. Will Apple be releasing Figma design templates? Sketch kits were published on Monday and can be referenced. The goal is to ensure the resources are well-organized, well-named, and easy to use. It's a high priority.
Topic: Design SubTopic: General
0
0
1.4k
Jun ’25
System fonts file access: allowed for sandboxed apps?
Hello! I am developing an ebook reader iOS app that uses c/c++ codec as a page renderer. The codec uses TrueType as a font rendering engine that requires access to .ttf (or .ttc) files. Currently, I supply TrueType with fonts embedded in the app package, so they lay within the app sandbox. The codec supports the whole unicode plane and many languages that ebooks may use, but the fonts I supply don't have some of the important glyphs (i.e. katakana or hangul). I see that iOS has its own font storage, located in /System/Library/Fonts/ directory. The codec is able to parse this directory and read .ttf files located inside, using these fonts as a fallback in the case when the supplied fonts can't draw certain glyphs. I use opendir and fopen(in "rb" mode) as a way to read the data, and it works well. Does this type of access to the system directory violate the sandbox rule for an app distribution, and, if yes, is there a way to get access to stored .ttf files not violating the mentioned rule?
1
0
896
Jan ’25
Progress Ring Artifact
I'm working to emulate the Activity Rings featured in Apple's Fitness app. Here's a copy of what's in the swift file so far. // // ProgressRingPrototype.swift // Nutrition // // Created by Derek Chestnut on 1/13/25. // import SwiftUI struct ProgressRingPrototype: View { @State var progress = 0.00 let size: CGSize let thickness: CGFloat var color: Color? var gradientColors: [Color]? var body: some View { let color = color ?? .primary ZStack { RingPrototype( size: self.size, thickness: self.thickness, color: color.opacity(0.2) ) let gradient = AngularGradient( colors: gradientColors ?? [.primary, .secondary], center: .center ) let style = StrokeStyle( lineWidth: 32, lineCap: .round ) Circle() .trim(from: 0, to: progress) .stroke(gradient, style: style) .rotationEffect(.degrees(-90)) .frame(width: size.width, height: size.height) } .onAppear { DispatchQueue.main.asyncAfter(deadline: .now() + 1) { withAnimation(.easeInOut(duration: 1)) { progress = 0.75 } } } } } #Preview { ZStack { ProgressRingPrototype( progress: 0.1, size: CGSize(width: 256, height: 256), thickness: CGFloat(32), color: .primary ) ProgressRingPrototype( progress: 0.1, size: CGSize(width: 190, height: 190), thickness: CGFloat(32), color: .primary ) ProgressRingPrototype( progress: 0.1, size: CGSize(width: 124, height: 124), thickness: CGFloat(32), color: .primary ) } } Here's a snapshot of the live preview. I'm experiencing an issue where the trailing line cap generated by the stroke exceeds the start angle of the angular gradient, which creates an ugly artifact at 0 degrees. Anyone have a solution to this problem? Derek
Topic: Design SubTopic: General
0
0
326
Jan ’25
iOS Review
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.
Topic: Design SubTopic: General
2
0
485
Sep ’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
131
Apr ’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
208
Jul ’25
iOS 26 UI transparency causes readability and accessibility issues
This issue affects core system UI elements such as Control Center, notifications, and system apps. In iOS 26, the Liquid Glass UI introduces excessive transparency and blur across the system. This significantly reduces text readability, lowers contrast, and causes visual fatigue during prolonged use. There is currently no true option to fully disable Liquid Glass effects. Existing accessibility settings only partially mitigate the issue and do not restore a solid, high-contrast interface similar to iOS 18. Please consider adding a system-wide toggle to completely disable Liquid Glass and transparency effects, or provide a solid UI mode for users who prioritize readability and visual comfort. This is especially important for accessibility, as the current design negatively impacts users sensitive to eye strain and low contrast.
1
0
792
6d
Set the ui resources for the face id page
I am developing an app that requires calling the iPhone's Face ID module to scan users' facial data. Where can I find Apple's design resources and guidelines for Face ID? The Face ID resources available in Figma are incomplete, and I need more support. For example, in the iPhone settings, the scenario: the UI interface for scanning the user's face to collect data, specifically the circular design in the "How to Set Up Face ID" screen.
1
0
585
Mar ’25
New IOS APP Help
Hello, I am looking to develop a relationship with a developer that has experience running through the IOS build approval process. To elaborate, my team and I have designed and built a software application which is working through the Apple Developer review process to have the app approved and released to the App Store. Unfortunately, there has been some challenges, simple challenges in my eyes with our interface preventing Apple from approving our application. Happy to elaborate further. A primary problem and solution I have seen is the software build was testing solely on the iPhone but as recently directed it seem the application must be accessible on iPad as well. With this the case, I have experience some software platforms where on the ipad the interface is not displayed on the whole screen. I am looking for direction on how to implement this setup for the 1st IOS build. Another concern from Apples Developer Review team is the App Tracking Transparency kit may need to be implemented.
0
0
675
Sep ’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
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
339
Jul ’25
Code d’invitation TestFlight
Bonjour à tous, je voudrais savoir comment avance mon dossier sur les applications que j’ai créé,comment puis-je faire? Et sinon quelqu’un connaît-il la Durée exacte quand APPLE envoie le code de vérification pour mes applicationà!???
Topic: Design SubTopic: General
1
0
473
Mar ’25