The bane of my existence has been designing interfaces where the whole view needs to scroll, but a portion is a List and the other portion is static.
I run into this problem time and again so I was hoping someone has a good solution because we all know that embedding a List view inside ScrollView is a no-go within SwiftUI. It simply doesn't work.
So what is a best practice when you need the whole screen to scroll, but a portion is a List? Use a navigation stack instead of a ScrollView? What if it's a child view of a navigation stack already?
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
Good evening. I have come up with this amazing and revolutionary idea that is going to change the ent world for the better.
I’m a 23 year old Design Engineer from Greece and I would like to come to direct contact with the Apple Design Team, in order to discuss this project and the best case scenario, sell it to you.
The foldable iPhone is not a good idea. Its not revolutionary and it’s going to leave a big black mark in Apple history.
With my idea, the whole world will see again the greatness of the biggest company in history.
i am struggling to get my tab view to work, when i call views in the action part of my tab view, my background creates issue? does anyone know how to fix this?
struct ContentView: View {
@Environment(.colorScheme) var colorMode
let Color1: Color = .cyan
var Color2: Color {
colorMode == .dark ? .black : .white
}
var TextColor: Color{
colorMode == .dark ? .black : .black
}
let tax: Double = 0.0875
var OptionTypes: [String] = ["Breakfeast", "Lunch", "Dinner", "Dessert", "Drinks"]
var BreakfeastFoods: [Food] = [
Food(Name: "Eggs Benedict", Price: 9.50),
Food(Name: "Avocado Toast", Price: 5.75),
Food(Name: "French Toast", Price: 12.50),
Food(Name: "Waffles", Price: 7.25),
Food(Name: "Pancakes", Price: 8.60)
]
var LunchFoods: [Food] = [
Food(Name: "Tuna Salad", Price: 11.25),
Food(Name: "Pizza", Price: 22.50),
Food(Name: "Chicken Sandwitch", Price: 8.95),
Food(Name: "French Fries", Price: 5.15),
Food(Name: "Macaroni and Cheese", Price: 7.50)
]
var DinnerFoods: [Food] = [
Food(Name: "Ribeye Steak", Price: 18.99),
Food(Name: "Pork Ribs", Price: 21.75),
Food(Name: "Salmon", Price: 15.00),
Food(Name: "Burrito Bowl", Price: 13.99),
Food(Name: "Chicken Fajitas", Price: 20.50)
]
var DessertFoods: [Food] = [
Food(Name: "Ice Cream Sundae", Price: 10.00),
Food(Name: "Fudge Brownie", Price: 4.85),
Food(Name: "Chocolate Cake Slice", Price: 6.10),
Food(Name: "Pumpkin Pie", Price: 6.10),
Food(Name: "Ice Cream Float", Price: 3.50)
]
var Drinks: [Food] = [
Food(Name: "Water", Price: 0.00),
Food(Name: "Sparkling Water", Price: 2.15),
Food(Name: "Soda", Price: 3.00),
Food(Name: "Coffee", Price: 2.50),
Food(Name: "Hot Chocolate", Price: 3.50)
]
@State var MyCart: [Food] = []
var body: some View {
NavigationStack{
ZStack{
LinearGradient(colors: [Color1, Color2], startPoint: .top, endPoint: .bottom).ignoresSafeArea()
VStack(spacing: 40){
ForEach(OptionTypes, id: \.self){
OptionType in
NavigationLink(value: OptionType){
Text(OptionType)
}.frame(width: 250, height: 70).background(LinearGradient(colors: [.cyan, .white,.cyan], startPoint: .topLeading, endPoint: .bottom)).foregroundStyle(TextColor).cornerRadius(100).font(.system(size: 25, weight: .medium)).padding(.top, 16)
}
}.navigationDestination(for: String.self) {
OptionType in
switch OptionType{
case "Breakfeast":
BreakFeastView(BreakfeastList: BreakfeastFoods, Color1: Color1, Color2: Color2)
case "Lunch":
LunchView(LunchList: LunchFoods, Color1: Color1, Color2: Color2)
case "Dinner":
DinnerView(DinnerList: DinnerFoods, Color1: Color1, Color2: Color2)
case "Dessert":
DessertView(DessertList: DessertFoods, Color1: Color1, Color2: Color2)
case "Drinks":
DrinksView(DrinksList: Drinks, Color1: Color1, Color2: Color2)
// case "My Cart":
// MyCartView(MyCartList: MyCart, Color1: Color1, Color2: Color2)
default:
Text("Error")
}
}
} .navigationTitle("Choose Menu")
TabView{
Tab("Menu", systemImage: "fork.knife"){
}
Tab("My-Cart", systemImage: "cart.fill"){
}
Tab("Store Location", systemImage: "mappin"){
}
}
}
}
}
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
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.
Hello everyone! The Swift Student Challenge officially starts tomorrow (February 3rd), and I have a question. Am I allowed to use tools like Photoshop to create artwork for my project? I’d appreciate any clarification. Thanks in advance!
I downloaded iOS 26 beta 3. I was very happy with how it turned out, but when I activated Siri, I noticed the rainbow pulsing glow that bordered the phone was missing, and all that was left was the original Siri bubble. I was very disappointed, does anyone know how to get this back? I loved that design feature.
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.
In the past, we had a red badge without a number on the app icon. We want to bring it back. Please provide instructions.
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 have used CPPointOfInterestTemplate for displaying data and as user scrolls using the up/down arrow, I do not see any change in the map. Is there a way to highlight the POIs as the user scrolls through the list?
I need to use the map controls and zoom to check the markers on the map. Is it possible to set the zoom level of the map in CarPlay?
Pls suggest on the above queries
What type of licensing does it apply for the usage of FONT_FAMILY='System' in Apple/iOS app?
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?
Hi everyone,
I’m testing our SwiftUI app on both Xcode simulator and a real iPhone. On the simulator, everything looks clean and aligned. But when I run it on an actual iPhone (same build, iOS 18), the layout looks broken—fonts overlap, spacing is off, and elements are misaligned.
Both screenshots are from the exact same screen and time. First is simulator, second is iPhone.
Any idea why this difference happens? Is there something I should check in terms of rendering or layout settings?
Thanks in advance!
I have completed a code with chatgpt and I am unising the latest version of code. i am also using an m1 MacBook air (2020). would love to know if anyone have resolved this issue. by using the ai to correct the code it disrupts it with something. an incorrect imoout line,but after multiple attempts ai get it right. I have notice that the code shows up on the start meaning run, take some time to load the intro page.
Hi everyone 👋
I’ve been using the Apple Pencil Pro with my iPad Pro M4 and absolutely love it — the squeeze gesture, rotation, and haptics are amazing for creative work. But I’ve run into a little roadblock…
Right now, only one Pencil Pro can be paired at a time. So while one is charging, you can’t use another as a backup without unpairing and re-pairing, which interrupts the workflow.
I’d really love to see one of two things:
The ability to use one Pencil while another charges
or
An official external charger (or support for third-party ones)
Personally, I’d happily buy both a second Pencil and a charger if this became possible. I’ve even chatted with other creatives who feel the same — it would make a huge difference for long projects or working on the go.
Just wanted to share this idea and see if anyone else here would like this too. Thanks for reading!
[Iphone11]
When we are going to have a real analog clock option on the lock screen. If an apple watch can do it surely its not that difficult. For someone who uses a clock to tell what time it isn't as opposed to what time it is, i’m constantly having to convert a digital image where the image of hands on a dial is so much easier. Surely this isnt because someone has forgotten how to read a clock
We're using StoreKit for in-app purchases on iOS, and our backend has the server notification URL configured. However, during subscription renewals, Apple's server doesn't send any requests to our endpoint. What could be causing this?