Create elegant and intuitive apps that integrate seamlessly with Apple platforms.

All subtopics
Posts under Design topic

Post

Replies

Boosts

Views

Activity

How To Position Controls With SwiftUI
I am coming from C#, where Forms and Controls are placed similar to Swift Storyboards. I have been trying to learn Storyboards, but keep running across tutorials regarding SwiftUI, and Storyboard examples are few. So the question becomes, "how do I position controls on a Form using SwiftUI?" See the example below. I have run across many videos that use either horizontal or vertical positioning of controls, but these examples are usually very simple, with items occupying only the center portion of the screen. I get stuck on examples that are more complicated. The example below only shows the controls for the upper part of a Form, with some type of textbox (Viewform) below making up the rest of the Form. How does one make more complicated placement of controls with SwiftUI?
10
0
339
3d
iOS 26 Beta breaks scroll/gesture in SwiftUI chat (worked in iOS 18): Simultaneous gestures & ScrollViewReader issues
Hi all, After upgrading to the iOS 26 beta, the scrolling in my SwiftUI chat view is completely broken. The exact same code works perfectly on iOS 18. Context: I have a chat view using ScrollViewReader and a vertically-reversed ScrollView (with .rotationEffect(.degrees(180))). Each message row (MessageBubble) uses multiple simultaneousGesture handlers: Horizontal drag for swipe-to-reply (and other actions: pin, delete) Long press for showing popover/actions Vertical scroll for normal chat scrolling This was working great on iOS 18. In iOS 26 beta, the vertical scroll is either completely disabled, jittery, or hijacked by the message row’s drag gestures, even though .simultaneousGesture is used (see code below). Minimal Repro Sample MessageListView.swift swift Copy Edit ScrollViewReader { proxy in ScrollView(.vertical, showsIndicators: false) { LazyVStack(spacing: 0) { // ... grouped messages ForEach(...) { ... MessageBubble(...) // see below } Color.clear.frame(height: 8).id("BOTTOM_ANCHOR") } .padding(.horizontal, 4) .rotationEffect(.degrees(180)) } .rotationEffect(.degrees(180)) } MessageBubble.swift struct MessageBubble: View { // ... var body: some View { // horizontal swipe-to-reply gesture let dragGesture = DragGesture(minimumDistance: 10) // ... ZStack { // ... HStack { ... } // ... .simultaneousGesture( DragGesture(minimumDistance: 0) // for long press // ... ) .simultaneousGesture(dragGesture) // for horizontal swipe } // ... } }
8
10
385
2w
Unable to find Slider/UISlider neutralValue
An WWDC 25 a neutral value was demonstrated that allows the Slider to be 'coloured in' from the point of the neutral value to the current thumb position. Trying to use this in Dev release 1 I get errors saying no such modifier. Was this functionality released in Dev Release 1 or am I using it incorrectly?
7
2
138
Aug ’25
Our app rejected by Guideline 4.3 - Design Please Help!
Hello, Our app rejected by following reason: Guideline 4.3 - Design We noticed your app shares a similar binary, metadata, and/or concept as apps previously submitted by a terminated Apple Developer Program account. Submitting similar or repackaged apps is a form of spam that creates clutter and makes it difficult for users to discover new apps. Next Steps Since we do not accept spam apps on the App Store, we encourage you to review your app concept and submit a unique app with distinct content and functionality. Resources Some factors that contribute to a spam rejection may include: Submitting an app with the same source code or assets as other apps already submitted to the App Store Creating and submitting multiple similar apps using a repackaged app template Purchasing an app template with problematic code from a third party Submitting several similar apps across multiple accounts Learn more about our requirements to prevent spam in App Store Review Guideline 4.3. iOS App 1.0App Version Rejection Reasons: 4.3.0 Design: Spam The application is 100% developed by our team and I am 100% sure of it. How can we do it ? Please help.
Topic: Design SubTopic: General Tags:
7
0
3.8k
Dec ’24
Set edge effect style in AppKit
In macOS 26 beta 2 it is possible to set an edge effect style via UIKit using the .scrollEdgeEffectStyle property. (note: I haven't tested this, I'm just looking at the documentation). See: https://developer.apple.com/documentation/swiftui/view/scrolledgeeffectstyle(_:for:) Is there an equivalent API for AppKit-based apps? I can't seem to find any additions in NSView or NSScrollView or elsewhere that seem relevant. Scroll edge effects are mentioned in the "Build an AppKit app with the new design" talk here, which heavily implies it must be possible from AppKit: https://developer.apple.com/videos/play/wwdc2025/310/?time=567
7
0
241
Jul ’25
Clearing an app’s memory, data etc.
My app works perfectly the first time it is used but when returning to the start after playing the game and playing another it does some random things. I figure it is because the app still retains the previous game in it’s memory allocation? My question is, what is the best way programmatically to have an app start fresh and not have to quit it and open it again?
6
0
133
May ’25
Liquid Glass clear variant
In this WWDC talk about liquid glass https://developer.apple.com/videos/play/wwdc2025/219/ they mention that there are two variants of liquid glass, regular and clear. I don't see any way to try the clear variant using the .glassEffect() APIs, they only expose regular, is there some other way to try the clear variant?
5
2
308
Aug ’25
Using .glassEffect in Charts
Hi, I was wondering if it's possible (and advisable) to use the new glass effects available in iOS 26 in Swift Charts? For example, in a chart like the one in the image I've attached to this post, I was looking to try adding a .glassEffect modifier to the BarMarks to see how that would look and feel. However, it seems it's not available directly on the BarMark (ChartContent) type, and I'm having trouble adding it in other ways too, such as using in on the types I supply to modifiers like foregroundStyle or clipShape. Am I missing anything? Maybe it's just not advisable or necessary to use glass effects within Charts?
5
0
195
Aug ’25
App rejection Guideline 4.3(a) - Design - Spam
Hello My app got rejected with the message "We noticed your app shares a similar binary, metadata, and/or concept as apps submitted to the App Store by other developers, with only minor differences." In short, my app is a vpn app built entirely by me. In Russia almost all vpn protocols are blocked: wireguard, openvpn etc. And the only protocol they could not block was vless. It was hard to implement it, i spent like 3 weeks on it writing my own package on flutter. The app first was uploaded to android and shared through testflight with some of my friends. And everyone switched to my app, because it works perfect for their needs: accessing instagram, twitter etc. Those apps are blocked here. So on my first attempt publishing i got 2 errors: Vpn should be published on the account that is organization Spam rejection I registered a company and switched from individual account to a company. I also changed the ui of the app (although i agree most vpns share the same concept design). I got rejected again with only "Guideline 4.3(a) - Design - Spam". I appealed with a question why was it it rejected, explaining that the app was built by me, and of course, i use some libraries. I got the same roboting response. After that i added some features: Built in private browser Network connection speed Today submitted the new version hoping it would pass, but yet again got "Guideline 4.3(a) - Design - Spam". I'm really frustrated, because i spent 3 months developing the app. I understand there are dozens of vpns. But vpn is not exactly the simple feature app. Some are bad, some are good, and some doesn't work at all. My app doesn't have any ads and paid subscriptions. I also renamed my app to "Incognito - Browser, VPN". But can't get pass. Would like to get some advices. Please help P.S. Sorry for my bad grammar
5
0
1.7k
Dec ’24
Rejected because of 4.3 (a) spam
Hello. I've been struggling to get through the app review. It's been 3 months of constantly improving and adding new features to the app and getting rejected. A week ago i got a call from apple review team, and they said that my app shares the similar binary with other apps. They don't tell the specififcs or details. My app is a vpn app that is written by me in flutter. The only native code i have is a library that i use to work with vpn. I changed the entirity of the library, but still can't get pass. Although, the only think left is the xray-core (https://github.com/XTLS/Xray-core) framework that implemented as .xcframework to use vless protocol. Does apple check .xcramework for similarity? i can't rewrite the framework, because it written in a go language.
4
0
520
Feb ’25
SwiftUI App crashes while switching orientation
Hi, I am a new SwiftUI app developer and developing my first application. In the process of designing not very GUI rich app, I noticed my app crashed whenever I switched orientation (testing on multiple iPhone devices). After going through all kind of logs and errors, performance enhancements nothing worked. Then I started rolling back all GUI related features 1 by 1 and tested (I am sure there are better approaches, but excuse me I am novice in app development :) ). Even though it's time consuming, I could pin point the cause of the fatal error and app crash, it's due to multiple .shadow modifiers I used on NavigationLink inside a ForEach look (to be precise I used it like following, .shadow(radius: 15) .shadow(radius: 20) .shadow(radius: 20) .shadow(radius: 20) .shadow(radius: 20) Note, there are only 7 items in List and it uses the Hero View (like app store's Today section) for child views. Once I got rid of shadow modifies or used only 1 app works fine and doesn't crash. Lesson learnt... P.S. It's so ironic that so performance tuned devices couldn't handle this basic GUI stuff.
4
0
563
Nov ’24
iOS 26 Floating Search Tab in UIKit
Does anyone have any documentation for how to achieve the floating search tab item in UIKit apps that use UITabBarController? The Liquid Glass UIKit video had code for minimizing the tab bar on scroll down, but I didn't see anything on keeping the search button locked to the bottom trailing edge (as in this screenshot below).
4
0
257
Jul ’25
Applying Custom Rounded Corners to a macOS Window
Which method allows me to apply larger-than-default rounded corners to a macOS window while maintaining the system’s dynamic, contrasting border – similar to what’s seen in the Control Center popup? (Control Center has a corner radius of 16, the default system window is 10.) While I know how to closely achieve this effect manually for my plain panel, I'd like to leverage the built-in method and get it for free from the OS. I’ve spent way more time on this problem than I'm willing to admit, and searched extensively, but haven’t found any solution. I’d really appreciate any pointers. Thank you.
4
2
1.2k
Oct ’24
Seeking Guidance: App Store Rejection Under Guideline 4.3(a) - Detailed Differentiation Already Provided
Seeking developer insights regarding a 4.3(a) review response citing "similar binary, metadata, and/or concept." Our app implements distinct community-focused features that fundamentally differentiate it from existing applications in this category. Feature Implementation: Our app introduces new technological approaches to faith-based applications: Community System: Custom-built group participation with progress visualization Engagement Features: Peer support system with achievement tracking Progress Metrics: Proprietary points system for progress tracking Group Progress Features: Shared accomplishment tracking Achievement Architecture: Progress continuity tracking Performance metrics accumulation Custom recognition system for personal and group milestones Synchronized goal-setting framework Market Analysis: Our research indicates: No existing apps with group-based progress features No solutions combining community features with scheduling No applications with similar group achievement systems No platforms featuring synchronized progress tracking Substantial user base requesting these features Technical Questions: How have developers effectively demonstrated feature differentiation? What technical documentation best demonstrates unique implementations? What strategies work for showing market demand for new features? Best practices for documenting novel community features? Implementation Context: While core scheduling features necessarily overlap with existing solutions, our platform's focus on community engagement and achievement tracking represents a novel approach, validated through user research and community feedback. Seeking insights from developers who have successfully implemented unique social features in established categories.
4
0
674
Dec ’24
TabView - .search roles
I'm having some difficulty with a tabview and getting the new search bar to expand from the search icon. The tabview works so far, it looks fine, tapping on the search opens the view I will be modifying to use the search bar. snip from my tabview: var body: some View { TabView(selection: $selectedTab) { Tab("Requests", systemImage: "list.bullet", value: .requests) { OverseerrRequestView(integrationId: integrationId) } Tab("Users", systemImage: "person.3", value: .users) { OverseerrUserView(integrationId: integrationId) } Tab("Search", systemImage: "magnifyingglass", value: .search, role: .search) { NavigationStack { OverseerrView(integrationId: integrationId) .searchable(text: $searchString) } } } .modifier(TabBarMinimizeIfAvailable()) .navigationTitle("Overseerr") .modifier(NavigationBarInlineIfAvailable()) } Currently in that view, I have temporarily constructed a search bar that handles the search function (we're searching externally, not just contents in the view) snip from my view: .safeAreaInset(edge: .bottom) { HStack { Image(systemName: "magnifyingglass") .foregroundColor(.secondary) TextField("Search movies, TV or people", text: $query) .focused($isSearchFieldFocused) .onSubmit { Task { await performSearch() } } .submitLabel(.search) .padding(.vertical, 8) .padding(.horizontal, 4) if !query.isEmpty { Button(action: { query = "" searchResults = [] Task { await loadTrending() } }) { Image(systemName: "xmark.circle.fill") .foregroundColor(.secondary) } } } .padding(.horizontal) .padding(.vertical, 5) .adaptiveGlass() .shadow(radius: 8) .onAppear { isSearchFieldFocused = false } } Notes: .adaptiveGlass() is a modifier I created to easily apply liquid glass or not depending on OS version, so as not to require the use of #if or #available in the views. The end goal here: have the tab view search "tab" open the OverseerrView.swift (Discover) view, activate the animated search bar, and search the input text to the performSearch() function. I have similar needs on other tab views, and am trying to move away from needing to manually create a search bar, when one should work from the .search role. Is there an example project with this search in the tab that I can reference? the landmarks sample project sadly did not include one.
4
0
157
Jul ’25
SwiftUI Table Header Background not appearing in iPadOS 26
Hi, it seems like using Table on iPadOS 26 results in the table header not applying a background. When comparing the same code on iPadOS 18, the table header applies a blur behind the header to ensure legibility when the user scrolls the content. Is there a way to ensure Table applies a background effect to the header so that content remains legible during scrolling? Here is a minimal example: struct TablePreviewContent: Identifiable { var id: Int { text.hashValue } var text: String } #Preview { let content = [TablePreviewContent(text: "Hello"), TablePreviewContent(text: "World")] Table(content) { TableColumn("Title", value: \.text) } } I've attached screenshots of the behavior on iPadOS 26 compared to iPadOS 18 to illustrate the issue.
3
0
102
2w