Post

Replies

Boosts

Views

Activity

How to add an object to the screen via the add button
I don't understand how to add an object via a button to the screen with goods. I already have a product listing: When I click on any of the products, I open the product information (conditionally) via .sheet, and then there are two buttons, close and add. close works, but I need to understand how to implement so that via add button the product is added to the view with Row style product display. Row of goods I have already created, there is CarManager logic: import Foundation class CartManager: ObservableObject { @Published private(set) var products: [Product] = [] func addToCart(product: Product) { products.append(product) } func removeFromCart(product: Product) { products = products.filter { $0.id != product.id } } } Here is the code itself, which is responsible for the .sheet when clicking on the product from the listing: struct ProductDetailSheet: View { let product: Product @Binding var isSheetPresented: Product? @State private var amount = 1 var body: some View { VStack{ VStack { Image(product.image) Spacer() Text(product.name) .presentationDetents([.height(200)]) .presentationBackgroundInteraction(.enabled(upThrough: .medium)) } HStack{ Button("Close") { isSheetPresented = nil } Spacer() Button("Add") { isSheetPresented = nil } Spacer() Stepper("Enter an amount: \(amount)", value: $amount, in: 0...200) } } .padding() } } #Preview { PackingList() } Here is a piece of code of View with Row style product: import SwiftUI struct ProductRow: View { var product: Product var body: some View { HStack(spacing: 20) { Image(product.image) .resizable() .aspectRatio(contentMode: .fit) .frame(width: 50) .cornerRadius(10) VStack(alignment: .leading, spacing: 10) { Text(product.name) .bold() } Spacer() Image(systemName: "trash") .foregroundColor(Color(hue: 1.0, saturation: 0.89, brightness: 0.835)) } .padding(.horizontal) .frame(maxWidth: .infinity, alignment: .leading) } } #Preview { ProductRow(product: productRaid[0]) } And I need to pass the product to this screen when I click on the .add button from the .sheet from the listing view. import SwiftUI struct Recommended: View { var body: some View { Text("1") .foregroundStyle(.white) } } #Preview { Recommended() } How do I implement this? Which way to dig? I will be highly grateful to anyone who can share information on how I can implement this. It should look like this on the screen.
1
0
554
Jan ’24
How to add an object to the screen via the add button
I don't understand how to add an object via a button to the screen with goods. I already have a product listing: When I click on any of the products, I open the product information (conditionally) via .sheet, and then there are two buttons, close and add. close works, but I need to understand how to implement so that via add button the product is added to the view with Row style product display. Row of goods I have already created, there is CarManager logic: import Foundation class CartManager: ObservableObject { @Published private(set) var products: [Product] = [] func addToCart(product: Product) { products.append(product) } func removeFromCart(product: Product) { products = products.filter { $0.id != product.id } } } Here is the code itself, which is responsible for the .sheet when clicking on the product from the listing: struct ProductDetailSheet: View { let product: Product @Binding var isSheetPresented: Product? @State private var amount = 1 var body: some View { VStack{ VStack { Image(product.image) Spacer() Text(product.name) .presentationDetents([.height(200)]) .presentationBackgroundInteraction(.enabled(upThrough: .medium)) } HStack{ Button("Close") { isSheetPresented = nil } Spacer() Button("Add") { isSheetPresented = nil } Spacer() Stepper("Enter an amount: \(amount)", value: $amount, in: 0...200) } } .padding() } } #Preview { PackingList() } Here is a piece of code of View with Row style product: import SwiftUI struct ProductRow: View { var product: Product var body: some View { HStack(spacing: 20) { Image(product.image) .resizable() .aspectRatio(contentMode: .fit) .frame(width: 50) .cornerRadius(10) VStack(alignment: .leading, spacing: 10) { Text(product.name) .bold() } Spacer() Image(systemName: "trash") .foregroundColor(Color(hue: 1.0, saturation: 0.89, brightness: 0.835)) } .padding(.horizontal) .frame(maxWidth: .infinity, alignment: .leading) } } #Preview { ProductRow(product: productRaid[0]) } And I need to pass the product to this screen when I click on the .add button from the .sheet from the listing view. import SwiftUI struct Recommended: View { var body: some View { Text("1") .foregroundStyle(.white) } } #Preview { Recommended() } How do I implement this? Which way to dig? I will be highly grateful to anyone who can share information on how I can implement this. It should look like this on the screen.
Replies
1
Boosts
0
Views
554
Activity
Jan ’24
How to set the NSView Swift Xcode 13 background
How do I change the background of My View controller in SafariExtensionViewController? I have My View, I need to somehow change its background, NSView, I attached a screenshot https://pastenow.ru/GQ58E
Replies
0
Boosts
0
Views
408
Activity
Apr ’22
How to set the background color in the safari app extension
I'm just starting out on my journey, but please don't swear too much. Can you please tell me how to set the desired background color for Custom View, the color I need is #F8F7F7.
Replies
1
Boosts
0
Views
871
Activity
Apr ’22