Hello, I'm new to app development and have a question that I have been searching all over the place to find an answer to. I have followed Apple's own guides and don't know how to move around the strange issue I am experiencing.
I have a project using NavigationSplitView and have the code setup so that it navigates through an array of items. The two issues I am experiencing that I hope to find some help with are:
I would like to be able to have my add button, instead of presenting a sheet, just navigate to a new item within the NavigationSplitView. This would be more natural for the type of data application I have created. At this time I create the item with a .sheet modifier and then the item is created and added to the array. However, I then have to tap on the newly created item to get it to be selected. Is this how SwiftUI should be working?
Whenever an item is deleted from the list, and it was the last item selected or the last item in the array, the NavigationSplitView will continue showing that remaining item. The only way to get it to show an empty content screen is to force close the application and then reopen it.
Since this is my first time posting, I'm not sure what information would be helpful, but would be happy to provide anything which could be of assistance. :-)
Design
RSS for tagCreate elegant and intuitive apps that integrate seamlessly with Apple platforms.
Posts under Design tag
180 Posts
Sort by:
Post
Replies
Boosts
Views
Activity
Hi, thought I'd share some feedback (which was also sent to Apple) publicly in case anyone else is experiencing the same issue or has an idea of how to circumvent the issue while Apple investigates.
TLDR: Views presented with the .fullScreenCover modifier can be incorrectly dismissed when a child view presented with a .sheet modifier inside the .fullScreenCover is dismissed.
The intended behavior is that the child sheet views can be dismissed without dismissing the parent full screen cover views. It appears this bug has been present in versions of iOS 17 as well as iOS 18.
Short of using something other than a .fullScreenCover to present the view, I'm still searching for a solution to this bug.
Filing: FB14007758
Steps to Reproduce (see code below):
Open a View in .fullScreenCover presentation
In the view presented via the .fullScreenCover, add two sheet modifiers with two different views (e.g. SheetOneView, SheetTwoView)
Toggle the presentation of SheetOneView and SheetTwoView randomly until the .fullScreenCover is incorrectly dismissed.
Reproducible Code:
import SwiftUI
struct SheetOneView: View {
var body: some View {
Text("Sheet: 1")
}
}
struct SheetTwoView: View {
var body: some View {
Text("Sheet: 2")
}
}
struct FullScreenCoverView: View {
@State var isSheetOnePresented = false
@State var isSheetTwoPresented = false
var body: some View {
VStack(content: {
Text("Full Screen Cover")
HStack {
Button("Open Sheet 1") {
isSheetOnePresented = true
}
Button("Open Sheet 2") {
isSheetTwoPresented = true
}
}
.buttonStyle(.borderedProminent)
.buttonBorderShape(.capsule)
})
.sheet(isPresented: $isSheetOnePresented) {
SheetOneView()
}
.sheet(isPresented: $isSheetTwoPresented) {
SheetTwoView()
}
}
}
struct ContentView: View {
@State var isFullScreenCoverPresented = false
var body: some View {
VStack {
Button("Open Full Screen Cover") {
isFullScreenCoverPresented = true
}
}
.fullScreenCover(isPresented: $isFullScreenCoverPresented, content: {
FullScreenCoverView()
})
.padding()
}
}
Hello,
I'm building apps for iPhone and iPad.
Those are working together like a 2-screen Nintendo switch.
Is there any way for communication between iPhone and iPad without an outside server?
PAN(personal area network) could be a solution, but I could not find any information to use it for my case.
If the iPad is connected to iPhone as a personal hotspot (though there's no cell tower), they should be communicate each other. I think there's a better way for my case.
Could anyone can tell me where I start to looking for?
Thanks,
JJ
I'm not quite sure whether this post belongs in a Design forum or here, but with iOS 18 Developer Beta 1 and watchOS 11 Developer Beta 1, when a Live Activity is displayed on an Apple Watch, the system font used is SF Pro rather than SF Compact.
I would expect that the design guidance would be to stick with SF Compact while on watchOS, and I would expect that the system font, when displayed on the Apple Watch using .supplementalActivityFamilies([.small]), would appear as SF Compact.
To ensure that SF Compact appears on my Live Activity when viewed on Apple Watch, I can set a custom font for use with the small supplemental family, but this seems really clunky; is there any other guidance here?
Hi all,
I am a UI/UX designer working on several commercial projects, and I have a few questions that I need you to answer:
Can I use the icons from your SF Symbols set in my application? This is a SAAS application and is used on various platforms such as macOS and Windows.
Is SF Symbols only allowed for use in applications running on Apple platforms? Meaning, if my application is used on a MacBook or iPhone, am I allowed to use your icon set?
If usage is not permitted on platforms other than Apple’s, how can I legally use them on those platforms? Does Apple sell licenses for using SF Symbols on other platforms? If so, what is the cost?
Looking forward to your response.
Hi All,
I really need your help, I have been racking my brain to work out why, after a push notification triggers a fetchdata function from the server, my new bookings dont dynamically update the counter against the booking types.
print("Received remote notification: \(userInfo)")
if let dataInfo = userInfo["data"] as? [String: Any],
let jsonData = try? JSONSerialization.data(withJSONObject: dataInfo) {
print("Processing data from notification...")
DispatchQueue.main.async {
self.eventsViewModel.updateFromPushNotification(data: jsonData) { result in
completionHandler(result)
}
}
} else {
print("Failed to parse notification data")
completionHandler(.noData)
}
}
func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error) {
print("Failed to register for remote notifications: \(error)")
}
func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
print("Will present notification: \(notification.request.content.userInfo)")
DispatchQueue.main.async {
self.eventsViewModel.fetchData()
}
completionHandler([.banner, .badge, .sound])
}
func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
print("Did receive notification response: \(response.notification.request.content.userInfo)")
let userInfo = response.notification.request.content.userInfo
if let fetchNeeded = userInfo["fetchNeeded"] as? Bool, fetchNeeded {
print("Initiating data fetch due to user interaction...")
DispatchQueue.main.async {
self.eventsViewModel.fetchData()
}
}
completionHandler()
}
@Published var bookings: [AnyBooking] = []
@Published var newBookings: [AnyBooking] = []
@Published var calendarBookings: [String: [AnyBooking]] = [:]
@Published var selectedBooking: AnyBooking?
private var cancellables = Set<AnyCancellable>()
private let calendarManager = CalendarManager.shared // Add calendarManager
func fetchData() {
guard let url = URL(string: "https://allsound.wisewms.uk/webhook_get") else {
print("Invalid URL for webhook request")
return
}
var request = URLRequest(url: url)
request.httpMethod = "GET"
let task = URLSession.shared.dataTask(with: request) { [weak self] (data, response, error) in
guard let self = self else { return }
if let error = error {
print("Error fetching data: \(error.localizedDescription)")
return
}
if let data = data, !data.isEmpty {
if let newBookings = self.processBookings(data: data) {
DispatchQueue.main.async {
self.bookings = newBookings
self.separateAndOrganizeBookings(bookings: newBookings)
}
} else {
print("Failed to process bookings.")
}
} else {
print("No data received from server.")
}
}
task.resume()
}
@main
struct AllSoundApp: App {
@UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
@StateObject var eventsViewModel = EventsViewModel()
@Environment(\.scenePhase) var scenePhase
@AppStorage("selectedTheme") private var selectedTheme: Theme = .system
var body: some Scene {
WindowGroup {
ContentView()
.environmentObject(eventsViewModel)
.environmentObject(appDelegate.navigationCoordinator)
.preferredColorScheme(selectedTheme.colorScheme)
.onChange(of: scenePhase) { oldPhase, newPhase in
if newPhase == .active {
eventsViewModel.fetchData()
}
}
}
}
}
I am trying to change the colour of the "Back" from blue to white but having difficulty do so, if anyone can suggest me a better way to do it would be grateful.
"import UIKit
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
let appearance = UINavigationBarAppearance()
appearance.configureWithOpaqueBackground()
appearance.backgroundColor = UIColor(red: 0.216, green: 0.776, blue: 0.349, alpha: 1)
appearance.titleTextAttributes = [.foregroundColor: UIColor.white]
appearance.largeTitleTextAttributes = [.foregroundColor: UIColor.white]
UINavigationBar.appearance().standardAppearance = appearance
UINavigationBar.appearance().scrollEdgeAppearance = appearance
UINavigationBar.appearance().tintColor = .white
return true
}
}"
Hello,
I am a product designer trying to understand the UI design limitations of CarPlay.
I am designing a scene where a CPTabBarTemplate will appear. From what I can read in the CarPlay development documentation, I understand that it should be possible to assign a custom icon for each tab with tabImage: UIImage?, if I am not mistaken.
However, any reference I have found always uses SF Symbols, which makes me wonder if they can actually be customized.
And on the other hand, if they are customizable, could any PNG be used for the tab that might compromise the driver's safety?
Thank you in advance.
Hello,
I am a product designer trying to understand the UI design limitations of CarPlay.
Since CarPlay renders templates in a single way and there isn't any option to change any component, is there any way to see in the documentation how that component will look once rendered?
For example, if I want to incorporate a primaryButton: CPTextButton? in my CPPointOfInterest. How could I know how each CPTextButtonStyle will be displayed? Is there an accessible place where I can check how each component will be visualized?
Thank you in advance.
I recently upgraded to Xcode version 15.4, but after the upgrade, my app stopped working. I resolved all the dependency issues and managed to run it locally. However, when I archive and distribute the app, it shows a blank white screen upon launching it on the phone.
Any troubleshooting suggestions would be greatly appreciated.
Hello there. I want to reporting about bug at iOS 18. Some feature doest not working like notification from aplication, and picture pagination is bad to see in apple music, and last the keyboard too. Please fixed it.
Hello, I am a product designer and I am currently working on a project that incorporates functionalities in CarPlay.
Given the UI limitations that exist for app development with CarPlay, are there any pre-designed templates in Figma or any other resources that can be used to design the screens? This way, I can adhere to those templates knowing what the limits are.
Thank you very much for your attention.
Hi
In my application I'm trying to recreate the behaviour of the back button in the Apple TV app on iOS. What I'm looking for is a way to have a material background but also making it possible to animate (with an interruptible animation) the transition when the user scrolls down in a scroll view.
When searching around there seems to be 2 hacks which doesn't solve my problem. Either you add a static image for the back button, which doesn't solve any of the points I mentioned before. The other hack is to stop using the back button in the UINavigationBar and start leveraging the left button instead, which I don't want because you loose the swipe back gesture.
Can you just pinpoint me what API I could use to get a similar look and feel?
I am Justin,
I am no developer but I think we should have a feature were we can upload our work with out playing money it is so much better.i think it is better then having young devs to save money then asking there parents for money to pay apple. Also Swift maybe a good language but I feel there should be a langue that can combine all the languages at once.
Justin
Hi ,
How to add custom subclass Textfield in AlertController or
Disable copy paste from AlertViewController textfield.
I'm creating a slate pad for Ipad with several input fields to fill using Adobe XD. How can I obtain and attach a virtual keyboard to fill these input fields?
I found a video with a similar concept but on Iphone:
https://www.youtube.com/watch?v=O7tPI0VuKd4&list=PLWeIX-zcNnqII-nzviv_yxT2WNQRRYbiG&index=3
In this other link, the video mentions that the virtual keyboard was obtained from a UI kit that Apple provides. But I've looked and looked and I can't find a page to download this virtual keyboard. Any ideas?
https://www.youtube.com/watch?v=rosf7-zVYjY&t=122s
Hello,
We have an iOS application (navigation/mobility app) that we need to have it stay connected to TCP server even app is in background.
We tried disabling screen lock. We tried having location permission as "always". But it is not consistent. Usually, after 15 minutes, TCP connection is disconnected. We are unable to run code on app's side if it is in the background.
Our other workaround option is similar to WhatsApp or what every other companies / our rivals in the market do. Have a VOIP feature, use voip notification to wake up the app. But we really don't want to do that sort of thing.
Any feedback and any ideas are welcomed.
Thanks.
Hi everyone,
Just a quick question: Can I use Apple's product bezels to create mockups that I sell online on my website & market? (Here's the link for reference: https://developer.apple.com/design/resources/#product-bezels
Just want to make sure it's all good! Thanks in advance for any help.
Hi,
Looking for some guidance on getting my code approved through app connect.
Based on the crash logs, it appears the application is experiencing crashes related to an EXC_CRASH (SIGABRT), which is typically triggered by the app receiving an abort signal, often as a result of an unhandled exception or other critical errors that cause the app to terminate abruptly.
Any ideas on how to resolve?
I'm developing an Apple TV OS app using SwiftUI. I'm encountering an issue with the color of the tab item. I want the color of the tab item to turn green when focused; for instance, when the tab item is selected, its background color should be green. Below is my current code, but it's not working. I've tried several other approaches, but none have worked.
struct ContentView: View {
@State private var selectedTab = 0
var body: some View {
ZStack(alignment: .topLeading){
TabView(selection: $selectedTab) {
HomeView()
.tabItem {
AppColors.gradientColor1
Label("Home", image: "home-dash")
}
.tag(0)
ProductsView()
.tabItem {
Label("Products", image: "open box-search")
}
.tag(1)
SearchView()
.tabItem {
Label("Search", image: "search")
}
.tag(2)
}
.accentColor(Color.green)
.background(.black)
Image("amazontabbarlogo")
}
}
}