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

New in SF Symbols 7: ipod.and.vision.pro.
Why? Why stop there? (Why not ipod.and.imacg3? applenewton.and.vision.pro?) I get why the older ipod symbols exist but these new pairings are odd. If anyone ever sees these restricted symbols in the wild, or even just someone using a Vision Pro and an iPod (Touch) together in a way that's not contrived, please do let me know!
Topic: Design SubTopic: General Tags:
1
0
796
Oct ’25
Liquid Glass Navigation Bar
The system provided liquid glass background looks terrible with my companies navigation bar background color. The navigation background color is not up for discussion and cannot be changed. The clear liquid glass style looks great and I can apply that to buttons I add to the navigation bar, but that doesn't effect the system provided back button. I would prefer to maintain the default back button functionality. Please make it possible to set the liquid glass style that the system provides for navigation bar items.
Topic: Design SubTopic: General
0
1
980
Oct ’25
Xcode 26 Issue with functional of bridging header in Xcode project with both objective-c and swift
I'm in the process of add some swift code that is all objective-c. I have trouble with my actual app so I have worked on a prototype. There is what I have done Created a new Xcode project, selecting App and Objc Added a blank Swift file and accepted the generation of the -Bridging-Header. In project build setting, Yes for Defines Modules, Yes for Always Embed Swift Libraries Add appropriate .h file to Bridging header In Build Settings, in Swift Compiler - General, Bridging Header has correct path to the bridging header file Setup the single swift file in this was using @objc like this: @objcmembers class MySwiftClass: NSObject { func myMethod() { let output = ... } } When the project runs I execute in the objc ViewController: MySwiftClass *swiftObject = [[MySwiftClass alloc] init]; and get Use of undeclared identifier 'MySwiftClass'
Topic: Design SubTopic: General
0
1
360
Oct ’25
Ios26 beta 3 concerns about liquid glass design
With the new ios 26 beta 3 helps some stabillty and performance issues but most of the liquid glass has been removed or made very frosty look; and it defeats the whole purpose of a big redesign, and even thought the changes are because of readability and contrast complaints it should not take away liquid glass design. I think apple should consider adding a toggle or choice to choose if they would want a more frosted look or a more liquid glass look the the original plan.
Topic: Design SubTopic: General Tags:
1
1
257
Jul ’25
Proposal: Capacitive swipe-based volume control integrated into iPhone frame
I would like to propose a design enhancement for future iPhone models: using the existing bottom-right antenna line (next to the power button area) as a capacitive “volume control zone” that supports swipe gestures. Today this line is a structural antenna break, but it is also located exactly where the thumb naturally rests when holding the phone in one hand. With a small embedded capacitive/force sensor, the user could slide their finger along this zone to control volume without reaching for the physical buttons. Why this makes sense: • Perfect ergonomic thumb position in both portrait and landscape • One-handed volume adjustment becomes easier for large-screen devices • Silent and frictionless vs. clicking buttons (useful in meetings / night mode) • Consistent with Apple’s recent move toward contextual hardware input (Action Button, Capture Button, Vision Pro gestures) The interaction model would be: • Swipe up → increase volume • Swipe down → decrease volume • (Optional) long-press haptic = mute toggle This could also enhance accessibility, especially for users with reduced hand mobility who struggle to press mechanical buttons on tall devices. Technically, this would be similar to the Capture Button (capacitive + pressure layers), but linear instead of pressure-based. It does not replace physical buttons, it complements them as a silent gesture-based alternative. Thank you for considering this as a future interaction refinement for iPhone hardware design.
2
0
612
Oct ’25
Liquid Glass App Icons without Icon Composer
We have found that on iOS 26 beta some of our app icons built from an Xcode 16 asset catalog containing a single 1024x1024 .png file have a Liquid Glass effect applied to them while others have not. The documentation states that If you choose not to use Icon Composer, you can still use an AppIcon asset catalog in your project containing individual app icon images and let the system apply the Liquid Glass material. and If you prefer, you can take advantage of the system’s automatically generated treatment that is applied to all app icons. Is there any insight into how the system treats app icons that have not yet been updated with Icon Composer?
1
1
2.2k
Nov ’25
Build Error
While build now I receive this error help me to resolve it Showing Recent Errors Only Prepare build error: Multiple commands produce '/Users/mayankjain/Library/Developer/Xcode/DerivedData/PCS_EmpApp-chsylqbxjptobeawzzckymqzagvr/Build/Products/Debug-iphonesimulator/PCS_EmpApp.app/Info.plist' note: Target 'PCS_EmpApp' (project 'PCS_EmpApp') has copy command from '/Users/mayankjain/Documents/05-NOV-2025-SWETA_IOS/PCS_EmpApp/PCS_EmpApp/xcode-out/Platforms/iOS/Info.plist' to '/Users/mayankjain/Library/Developer/Xcode/DerivedData/PCS_EmpApp-chsylqbxjptobeawzzckymqzagvr/Build/Products/Debug-iphonesimulator/PCS_EmpApp.app/Info.plist' note: Target 'PCS_EmpApp' (project 'PCS_EmpApp') has process command with output '/Users/mayankjain/Library/Developer/Xcode/DerivedData/PCS_EmpApp-chsylqbxjptobeawzzckymqzagvr/Build/Products/Debug-iphonesimulator/PCS_EmpApp.app/Info.plist' Multiple commands produce '/Users/mayankjain/Library/Developer/Xcode/DerivedData/PCS_EmpApp-chsylqbxjptobeawzzckymqzagvr/Build/Products/Debug-iphonesimulator/PCS_EmpApp.app/Info.plist'
Topic: Design SubTopic: General
0
1
675
Nov ’25
13 Years Old App Gets Guideline 4.3(a) - Design - Spam Rejection
Our application was first published on December 16, 2012, at 11:42 PM, and has been available on the market for 13 years. Over the years, we have implemented hundreds of updates to enhance and refine the app. Our recent updates are rejected for the reason "Guideline 4.3(a) - Design - Spam" warning. How can it be for a 13 years old app. Please advice me what to do. Thanks in advance
Topic: Design SubTopic: General
1
1
867
Feb ’25
Shadow on top of Vision OS icon
Hi guys, I've exported the images with transparency for a Vision OS icon but I still keep getting a weird shadow on the top of the icon when I focus on it. Do you guys had this issue before?
Topic: Design SubTopic: General
0
1
1.6k
Nov ’25
Greyed out app icon on iOS 26 beta
On iOS 26 beta 3, my app and some other apps got greyed out app icon. It only happens in Default (Light) appearance. Apple automatically converts third-party app icons to support Liquid Glass, but is there any specific requirement with third-party icons to avoid above greyed out app icon issue?
0
1
640
Jan ’26
macOS Tahoe generates low resolution wallpapers on certain Mac models
Dear Apple, please make sure this bug gets delivered to whoever is responsible. That's all I ask. Please don't let it sit for months unassigned. This is, by far, the worst bug I've ever found with the macOS wallpaper system. FB21532401 If you own a 13" 2020 or newer MacBook pro model, set to the default resolution, and are running macOS Tahoe, macOS will significantly degrade the quality of any image set as wallpaper. When a still image is set as the wallpaper on macOS Tahoe, on some display configurations, the systems downscales the image to an incorrect size, resulting in pixelated wallpaper. The problem is exacerbated by the fact that macOS Wallpaper Agent appears to be using a less than ideal downscaling algorithm, which results in Super Mario Bros’ type pixelation (nearest neighbor) as opposed to any other reasonable modern method (like bicubic.) The issue does not repro on macOS Sequoia. Every model MacBook we’ve tested offers some resolutions with some form of this problem, but the 13” is the only one where it is notably awful. The most evident default case of this is the 13” MacBook Pro models with a 2560x1600 physical display (for example, 2020 MacBook Pro 13” (17,1.)) These models have a physical display resolution of 2560x1600, and a default scaled resolution of 1440x900. The relationship between the physical resolution and scaled resolution is not an even ratio (1:1 or 2:1), which seems to be the common condition under which this issue occurs. Repro steps: Set the systems display resolution to the default resolution - ideally on the model described above (see details on this below) Set a high resolution image (in this example 5120x2880) as the system wallpaper using any method Results: On the model described above, Wallpaper Agent will generate and display a 1440x810 image as the wallpaper. It should be generating and displaying at a minimum of 2560x1600, or more appropriately at 2880x1800 which is the proper 2X resolution. This can be confirmed by viewing the properties of the generated images in the macOS wallpaper cache here: ~/Library/containers/com.apple.wallpaper.agent/Data/Library/Caches/com.apple.wallpaper.caches/extension-com.apple.wallpaper.extension.image On modern Apple systems, the only situation in which the wallpaper should be generated at 1X is when the physical resolution and set resolution are 1:1. In any situation where the physical resolution is larger than the set resolution, the image should be generated at 2X the set resolution. As far as we can tell, this issue impacts any format, and any resolution of image, and occurs independent of the set image resolution.
Topic: Design SubTopic: General
0
1
326
Jan ’26
Confidential Innovation Proposal.Inquiry About Formal Communication Channel
I am writing to express interest in engaging with Apple regarding a highly original and commercially relevant concept related to future iPhone innovation. Given the confidential and proprietary nature of this idea, I am not in a position to share details through an open inquiry or standard feedback form. I would welcome the opportunity to present this concept through an official and formal communication channel that ensures appropriate confidentiality and professional evaluation, should Apple have an established process for external innovation or partnership discussions. Please advise if there is a suitable point of contact or procedure for initiating such a conversation in accordance with Apple’s policies. Thank you for your time and consideration. Please feel free to contact me though my email or phone Regards Tahmeed Hossain Contact: +880 1781882730
Topic: Design SubTopic: General
1
0
868
Jan ’26
Sell UI patent to Apple
I've designed a new UI for phones.. I'd like Apple to look at it and see what they think https://docs.google.com/presentation/d/10QSQvAdRRkL-eA9WRsSEbsL62XIayJ75Mbi93tx92DI/edit?usp=drive_link
Topic: Design SubTopic: General
3
0
758
2w
CarPlay navigation issue, maximum depth
Hi everyone, I am working on a CarPlay integration, and need open a two level list opened from a root template. However, I am always receiving an error message when opening the 2nd pushed template. To narrow it down not to have an issue with some app specific code I created the CarPlay scene below. I am aware that there is a limit, but two levels I understand are supported on all CarPlay integrations, the maximum seems to be 5. The app is just crashing right after showing the 2nd template. Any ideas? Any hints are much appreciated. Thanks a lot! Regards, Michael class CarPlaySceneDelegate2: UIResponder, CPTemplateApplicationSceneDelegate { // [...] private func createRootTemplate() -> CPListTemplate { let pushToAItem = CPListItem(text: "Push to Template A", detailText: "Level 1 → Level 2") pushToAItem.handler = {[weak self] (pushToAItem, completion) in guard let self = self else { completion() return } self.interfaceController?.pushTemplate( self.pushTemplateA(), animated: true, completion: { (didPresent, error) in completion() } ) } let section = CPListSection(items: [pushToAItem]) let template = CPListTemplate(title: "Root Template", sections: [section]) return template } private func pushTemplateA() -> CPListTemplate { let pushToBItem = CPListItem(text: "Push to Template B", detailText: "Level 2 → Level 3") pushToBItem.handler = {[weak self] (pushToBItem, completion) in guard let self = self else { completion() return } self.interfaceController?.pushTemplate( self.pushTemplateB(), animated: true, completion: { (didPresent, error) in completion() } ) } let backToRootItem = CPListItem(text: "Pop to Root", detailText: "Go back to root") backToRootItem.handler = { [weak self] _, completion in self?.interfaceController?.popToRootTemplate(animated: true, completion: nil) completion(); } let infoItem = CPListItem(text: "Current Depth", detailText: "2 (Template A)") let stackCountItem = CPListItem( text: "Stack Count", detailText: "\((interfaceController?.templates.count ?? 0) + 1)" ) let section = CPListSection(items: [pushToBItem, backToRootItem, infoItem, stackCountItem]) let template = CPListTemplate(title: "Template A", sections: [section]) return template } private func pushTemplateB() -> CPListTemplate { let pushToCItem = CPListItem(text: "Push to Template C", detailText: "Level 3 → Level 4") pushToCItem.handler = {[weak self] (pushToCItem, completion) in guard let self = self else { completion() return } self.interfaceController?.pushTemplate( self.pushTemplateC(), animated: true, completion: { (didPresent, error) in completion() } ) } let backToRootItem = CPListItem(text: "Pop to Root", detailText: "Go back to root") backToRootItem.handler = { [weak self] _, completion in self?.interfaceController?.popToRootTemplate(animated: true, completion: nil) completion() } let popOneItem = CPListItem(text: "Pop One", detailText: "Go back to Template A") popOneItem.handler = { [weak self] _, completion in self?.interfaceController?.popTemplate(animated: true, completion: nil) completion() } let infoItem = CPListItem(text: "Current Depth", detailText: "3 (Template B)") let stackCountItem = CPListItem( text: "Stack Count", detailText: "\((interfaceController?.templates.count ?? 0) + 1)" ) let section = CPListSection(items: [pushToCItem, popOneItem, backToRootItem, infoItem, stackCountItem]) let template = CPListTemplate(title: "Template B", sections: [section]) return template } private func pushTemplateC() -> CPListTemplate { let backToRootItem = CPListItem(text: "Pop to Root", detailText: "Go back to root") backToRootItem.handler = { [weak self] _, completion in self?.interfaceController?.popToRootTemplate(animated: true, completion: nil) completion() } let popOneItem = CPListItem(text: "Pop One", detailText: "Go back to Template B") popOneItem.handler = { [weak self] _, completion in self?.interfaceController?.popTemplate(animated: true, completion: nil) completion() } let infoItem = CPListItem(text: "Current Depth", detailText: "4 (Template C)") let stackCountItem = CPListItem( text: "Stack Count", detailText: "\((interfaceController?.templates.count ?? 0) + 1)" ) let section = CPListSection(items: [popOneItem, backToRootItem, infoItem, stackCountItem]) let template = CPListTemplate(title: "Template C", sections: [section]) return template } }
2
0
1.6k
3w
Too large clock size on iOS 26 Lock Screen.
The clock on the lock screen is too big. This is very noticeable on the serif font, the maximum size goes beyond the frame, and rests on the frame of the phone display. (Screenshot 1 & Screenshot 3) This is especially evident if you use the enlarged interface (using the Large Text function), here the time goes completely out of the frame and conflicts with the frame of the phone screen. (Screenshot 2 & Screenshot 4)
Topic: Design SubTopic: General Tags:
3
1
1.1k
Jan ’26
Section Header Overlaps with Cell Text in Plain List Style on iOS 26
Hi everyone, I've noticed that on iOS 26 beta 1 through beta 4, when using a List with the .plain style, the section header overlaps with the cell content below it, as there is no background for the header. This creates a poor visual experience. Additionally, when using NavigationSplitView on iPad, the second column's list always shows this issue. Is this an intentional design change, or just a temporary issue? I haven't found a good workaround so far. Thanks! FB19066489
0
1
593
Jul ’25
Suggestion: Add App Notification Filter Slider to Notification Center
Add slim horizontal bar at the top of the Notification Center that displays the apps with current notifications, along with a badge showing the number of notifications for each app. Each app icon is clickable, allowing users to filter the Notification Center and view only the notifications from the selected app. The first button in the slider should be “All” to show all notifications, followed by app icons (Excluding notifications summary) This bar Appears only when notifications are from more than one app. Hidden if there’s only one app in Notification Center (no need to filter). Benefits: Better organization: Helps users quickly identify which apps have unread notifications. Reduced distraction: Allows focusing on notifications from one app at a time. Easier navigation: Especially helpful when notifications from multiple apps are mixed together by time. Faster interaction: Saves time by letting users jump directly to the relevant group of grouped or multiple notifications.
Topic: Design SubTopic: General
0
1
70
Jun ’25
Should we design for Liquid Glass on visionOS?
Liquid Glass was introduced as a universal design language for all platforms, but isn't supported by visionOS 26 beta. For a small team creating a visionOS app targeted for release in fall 2026, should we focus our design work on Liquid Glass, or for the existing visionOS design language?
Topic: Design SubTopic: General Tags:
1
1
254
Jun ’25