Post

Replies

Boosts

Views

Activity

Thread 1: Fatal error: No ObservableObject of type msgDatas found. A View.environmentObject(_:) for msgDatas may be missing as an ancestor of this view.
It throw fatal error for data in "  self.data.selectedData = i", even I try to calling @State for solve, but nothing change. Main: struct Main : View {       @EnvironmentObject var data : msgDatas   @State var show: Bool = false       var body : some View{           List(msgs){i in               cellView(pic: i.pic, name: i.name, msg: i.msg, time: i.time, msgs: i.msgs).onTapGesture {                   self.data.selectedData = i         self.show.toggle()       }     }   } } cellView: struct cellView : View {       var pic : String   var name : String   var msg : String   var time : String   var msgs : String       var body : some View{           HStack(spacing: 15){               Image(pic).resizable().frame(width: 50, height: 50).clipShape(Circle())               VStack(alignment:.leading,spacing: 5){                   Text(name)         Text(msg).lineLimit(2)       }               Spacer()               VStack(spacing: 10){                   Text(time)         if msgs != ""{                       Text(msgs).padding(8).background(Color("bg")).foregroundColor(.white).clipShape(Circle())         }         else{                       Spacer()         }       }             }.padding(9)   } }
30
0
3.6k
Mar ’21
Destination view for multiple list item in SwiftUI
I have list item, and all item destination view routed to EndView, how can I add multiple destination view for every item, for example: when I click the first item it will open EndView, when I click the second item it will open NewView...., any idea will be appreciated. Option: struct InnerOptionValues: Codable {   var title: String   var image: String   var isAddSection: Bool   var isUseToggle: Bool   var headerTitle: String } extension Option {   static let listValues: [InnerOptionValues] = [     .init(title: "title1", image: "image1", isAddSection: true, isUseToggle: false, headerTitle: ""),     .init(title: "title2",image: "image2", isAddSection: false, isUseToggle: false, headerTitle: ""),     .init(title: "title3", image: "image3", isAddSection: false, isUseToggle: false, headerTitle: ""),     .init(title: "4", image: "image4", isAddSection: false, isUseToggle: false, headerTitle: ""),     .init(title: "5", image: "image5", isAddSection: false, isUseToggle: false, headerTitle: ""),   ]     InnerView: struct InnerView: View {   let value: InnerOptionValues       var body: some View {     return NavigationLink(destination: EndView(value: value)) {       HStack {         Image(value.image)           .resizable()           .frame(width: 16, height: 16)           .aspectRatio(contentMode: .fill)         Text(value.title)           .foregroundColor(.blue)           .font(.system(size: 18))       }     }   } } struct EndView: View {   let value: InnerOptionValues       var body: some View {     return NavigationLink(destination: EndView(value: value)) {               Text("Coming Soon!!!")         .font(.system(size: 25))         .foregroundColor(.blue)     } .navigationBarTitle(Text(value.title), displayMode: .inline)   } }
0
0
514
Apr ’21
Why list menu items not shown in SwiftUI project?
I have list item menu project in SwiftUI, my project work, but I have list icons, they are not shown in list view, even I was try to use system image, there is not any change on screen, any idea? struct MasterView: View { let view1 = Menu(name:"Home", image:"image_home", destination:.home) let view2 = Menu(name:"View 1", image:"image_view1", destination:.view1) let view3 = Menu(name:"View 3", image:"image_view2", destination:.view2) var body: some View { let menus: [Menu] = [view1, view2, view3] return List { ForEach(menus) { menu in self.destinationView(menu: menu) }}} func destinationView(menu: Menu) - some View { switch menu.destination { case .view1: return NavigationLink( destination: AnyView(View1(menu: menu)) ) { Text("\(menu.name)") } case .view2: return NavigationLink( destination: AnyView(View2(menu: menu)) ) { Text("\(menu.name)") } default: return NavigationLink( destination: AnyView(HomeView(menu: menu)) ) { Text("\(menu.name)") }}}} Model.swift: /// Main menu item for the list struct Menu: Identifiable { var id = UUID() var name: String var image: String var destination: ViewType } enum ViewType { case home case view1 case view2 }
5
0
1.7k
Apr ’21
SwiftUI: Change List row Highlight colour when tapped
The default colour of a list row when tapped is grey. I try many solution on stackoverflow and apple form, I did not solve problem, any idea? RecentRowView: struct RecentRowView: View {         var body: some View {            HStack(spacing: 15){       List{         NavigationLink(destination: SecondView()                           ){                 VStack{         HStack{             VStack(alignment: .leading, spacing: 8, content: {                             Text(recent.name)                 .font(.custom("Helvetica Neue", size: 14))                               })           Spacer(minLength: 10)           ZStack {                 }           }  }          }         }        }     }    }
1
0
4k
Sep ’21
Change icons border when click the bottom tab bar in Swift
I have custom bottom navigation bar in IOS application, everythings work very well, and I want to change bottom navigation items tint color when I click the items, and I was use the self.imgView.image!.withRenderingMode(.alwaysTemplate) self.imgView.tintColor = .red in isSelected, and it is change whole icons border tint color. I do not know where I miss, any idea? RootStackTabViewController: class RootStackTabViewController: UIViewController { @IBOutlet weak var bottomStack: UIStackView! var currentIndex = 0 lazy var tabs: [StackItemView] = { var items = [StackItemView]() for _ in 0..<5 { items.append(StackItemView.newInstance) } return items }() lazy var tabModels: [BottomStackItem] = { return [ BottomStackItem(title: "Home", image: "home"), BottomStackItem(title: "Favorites", image: "heart"), BottomStackItem(title: "Search", image: "search"), BottomStackItem(title: "Profile", image: "user"), BottomStackItem(title: "Settings", image: "settings") ] }() override func viewDidLoad() { super.viewDidLoad() self.setupTabs() } func setupTabs() { for (index, model) in self.tabModels.enumerated() { let tabView = self.tabs[index] model.isSelected = index == 0 tabView.item = model tabView.delegate = self self.bottomStack.addArrangedSubview(tabView) } } } StackItemView: protocol StackItemViewDelegate: AnyObject { func handleTap(_ view: StackItemView) } class StackItemView: UIView { @IBOutlet weak var titleLabel: UILabel! @IBOutlet weak var imgView: UIImageView! @IBOutlet weak var highlightView: UIView! private let higlightBGColor = UIColor(hexString: "1160FB") static var newInstance: StackItemView { return Bundle.main.loadNibNamed( StackItemView.className(), owner: nil, options: nil )?.first as! StackItemView } weak var delegate: StackItemViewDelegate? override func awakeFromNib() { super.awakeFromNib() self.addTapGesture() } var isSelected: Bool = false { willSet { self.updateUI(isSelected: newValue) self.titleLabel.textColor = UIColor.white self.imgView.image!.withRenderingMode(.alwaysTemplate) self.imgView.tintColor = .red } } var item: Any? { didSet { self.configure(self.item) } } private func configure(_ item: Any?) { guard let model = item as? BottomStackItem else { return } self.titleLabel.text = model.title self.imgView.image = UIImage(named: model.image) self.isSelected = model.isSelected } private func updateUI(isSelected: Bool) { guard let model = item as? BottomStackItem else { return } model.isSelected = isSelected let options: UIView.AnimationOptions = isSelected ? [.curveEaseIn] : [.curveEaseOut] UIView.animate(withDuration: 0.4, delay: 0.0, usingSpringWithDamping: 1.0, initialSpringVelocity: 0.5, options: options, animations: { self.titleLabel.text = isSelected ? model.title : "" let color = isSelected ? self.higlightBGColor : .white self.highlightView.backgroundColor = color (self.superview as? UIStackView)?.layoutIfNeeded() }, completion: nil) } } extension StackItemView { func addTapGesture() { let tapGesture = UITapGestureRecognizer(target: self, action: #selector(handleGesture(_:))) self.addGestureRecognizer(tapGesture) } @objc func handleGesture(_ sender: UITapGestureRecognizer) { self.delegate?.handleTap(self) } }
1
0
1.2k
Jul ’21
How we can use userInteractionEnabled in (number.name) for number only?
I have number.name array like 1.go, 2.java, 3.swift etc..and I do not want to edit the number again, user will only change name. Is it possible?   if words.count == 24 {         for (index, textField) in textFields.enumerated() {           textField.delegate = self           textField.firstDesign()           textField.text = "\(index + 1). \(words[index])"           mneArr.append(words[index])         }
3
0
514
Jul ’21
How can I use the searchable feature for my row data in SwiftUI?
I have data in row like  Text(data.user) and I want to use searchable for it, I can use search bar, bat I want to use filter for user.    Text(data.user)                   .searchable(text: $searchText, placement: .navigationBarDrawer) like here, tere is some example for filter, but how can I use it for my data. Any idea? .onChange(of: searchText) { searchText in       if !searchText.isEmpty {         articles = sampleArticles.filter { $0.title.contains(searchText) }     } else {         articles = sampleArticles     } }
3
0
580
Sep ’21
How can use model in view shortly?
I have small restaurans data in content view, but I want to use this data shortly inside of the homeview, I am typing   to use  @State var restaurants: [ Restaurant] but in other view I have HomeView, it is throw an error like     Cannot convert value of type '[Restaurant].Type' to expected argument type '[Restaurant]' for    HomeView( restaurants: [Restaurant]) line of code, I do not know what I missed? Any idea? struct HomeView: View { @State var restaurants = [ Restaurant(name: "Cafe Deadend", image: "cafedeadend"), Restaurant(name: "Homei", image: "homei"), Restaurant(name: "Teakha", image: "teakha"), Restaurant(name: "Cafe Loisl", image: "cafeloisl"), ] }
0
0
341
Feb ’22
Why I am not succes to register in my app in SwiftUI?
I am use firebase for my SwiftUI App, and I want to register with mail, but when I typing my mail it is throw an error like Oops! Something went wrong. Please try again. I do not know why? here is my code: StatusViewModel: class StatusViewModel: Identifiable, ObservableObject {       var title: String   var message: String       init(title: String = "", message: String = "") {     self.title = title     self.message = message   }       static var signUpSuccessStatus: StatusViewModel {     return StatusViewModel(title: "Successful", message: "Your account has been created successfully")   }       static var logInSuccessStatus: StatusViewModel {     return StatusViewModel(title: "Successful", message: "Your account has been logged in successfully")   }       static var errorStatus: StatusViewModel {     return StatusViewModel(title: "Error", message: "Oops! Something went wrong. Please try again.")   } } RegisterViewModel: import Foundation import Combine class RegisterViewModel: ObservableObject {   @Published var email: String = ""   @Published var password: String = ""   @Published var statusViewModel: StatusViewModel?   @Published var state: AppState       private var cancellableBag = Set<AnyCancellable>()   private let authAPI: AuthAPI       init(authAPI: AuthAPI, state: AppState) {     self.authAPI = authAPI     self.state = state   }       func signUp() {     authAPI.signUp(email: email, password: password)       .receive(on: RunLoop.main)       .map(resultMapper)       .replaceError(with: StatusViewModel.errorStatus)       .assign(to: \.statusViewModel, on: self)       .store(in: &cancellableBag)   } } extension RegisterViewModel {   private func resultMapper(with user: User?) -> StatusViewModel {     if user != nil {       state.currentUser = user       return StatusViewModel.signUpSuccessStatus     } else {       return StatusViewModel.errorStatus     }   } } struct Register: View {       @ObservedObject private var viewModel: RegisterViewModel   @State var pushActive = false         init(state: AppState) {           self.viewModel = RegisterViewModel(authAPI: AuthService(), state: state)           }   var body: some View {   NavigationLink(destination: HomeView(state: viewModel.state),                       isActive: self.$pushActive) {                 Button {                              self.viewModel.signUp()                                     } label: {                   Text("Register")                     .padding()                                     }               } } }
0
0
561
Mar ’22
How we can use the multiple register screen in SwiftUI for firebase?
I have multiple register screen in swiftUI, I did not understand how I will connect first register screen to second register screen, normally first register screen connect to main screen, but I want to connect first register screen to second register screen, and connect second register screen to main screen, how can I do it, any idea? StatusViewModel: class StatusViewModel: Identifiable, ObservableObject {       var title: String   var message: String       init(title: String = "", message: String = "") {     self.title = title     self.message = message   }       static var signUpSuccessStatus: StatusViewModel {     return StatusViewModel(title: "Successful", message: "Your account has been created successfully")   }       static var logInSuccessStatus: StatusViewModel {     return StatusViewModel(title: "Successful", message: "Your account has been logged in successfully")   }       static var errorStatus: StatusViewModel {     return StatusViewModel(title: "Error", message: "Oops! Something went wrong. Please try again.")   } } RegisterViewModel: import Foundation import Combine class RegisterViewModel: ObservableObject {   @Published var email: String = ""   @Published var password: String = ""   @Published var statusViewModel: StatusViewModel?   @Published var state: AppState       private var cancellableBag = Set<AnyCancellable>()   private let authAPI: AuthAPI       init(authAPI: AuthAPI, state: AppState) {     self.authAPI = authAPI     self.state = state   }       func signUp() {     authAPI.signUp(email: email, password: password)       .receive(on: RunLoop.main)       .map(resultMapper)       .replaceError(with: StatusViewModel.errorStatus)       .assign(to: \.statusViewModel, on: self)       .store(in: &cancellableBag)   } } extension RegisterViewModel {   private func resultMapper(with user: User?) -> StatusViewModel {     if user != nil {       state.currentUser = user       return StatusViewModel.signUpSuccessStatus     } else {       return StatusViewModel.errorStatus     }   } } first register screen: struct Register: View {       @ObservedObject private var viewModel: RegisterViewModel   @State var pushActive = false         init(state: AppState) {           self.viewModel = RegisterViewModel(authAPI: AuthService(), state: state)           }   var body: some View {  VStack(){                               TextField("Email Address",text:$viewModel.email)                 .autocapitalization(.none)                 .padding()                  HStack(spacing: 15){                     TextField("Password", text: $viewModel.password)                       .autocapitalization(.none)                                 }   NavigationLink(destination: HomeView(state: viewModel.state),                       isActive: self.$pushActive) {                 Button {                              self.viewModel.signUp()                                     } label: {                   Text("Register")                     .padding()                                     }               } } } second register screen: struct SecondRegister: View {   var body: some View {           GeometryReader { geometry in          ZStack{           VStack(alignment: .center, spacing: 3){                          TextField("First Name",text:self.$first_name)                 .autocapitalization(.none)                 .padding()               TextField("Last Name", text: self.$last_name)                 .autocapitalization(.none)                 .padding()                                 }                 Button {                 } label: {                   Text("Next")                     .padding()                    }             }           }.padding()           }.padding(.top,60)                 }     }
0
0
576
Mar ’22
Why I am able to register user info to firebase in SwiftUI App?
I have register screen and I am not able to register info to firebase, I put user info on simulator, but it just hold on on screen, and no any change on firebase, any idea? where I missed? import SwiftUI import Firebase struct Register: View {   @State var name = ""   @State var about = ""       @Binding var show : Bool   var body: some View {    VStack(alignment: .center, spacing: 3){                          TextField("Name",text:self.$name)                 .padding()                                       TextField(" about", text: self.$about)                 .padding()                if self.loading{                                          HStack{                                              Spacer()                                              Indicator()                                              Spacer()                     }                   }                                        else{                                 Button {                                       if self.name != "" && self.about != "" {                                                    self.loading.toggle()                     CreateUser(name: self.name, about: self.about) { (status) in                                                          if status{                                                              self.show.toggle()                                                       }                         }                       }                     else{                                                    self.alert.toggle()                                             }                 } label: {                   Text("Next")                     .padding()                    }               } } import Foundation import Firebase func CreateUser(name: String,about : String, completion : @escaping (Bool)-> Void){       let db = Firestore.firestore()       let storage = Storage.storage().reference()       let uid = Auth.auth().currentUser?.uid                   db.collection("users").document(uid!).setData(["name":name,"about":about, "uid":uid!]) { (err) in                   if err != nil{                       print((err?.localizedDescription)!)           return         }                   completion(true)                   UserDefaults.standard.set(true, forKey: "status")                   UserDefaults.standard.set(name, forKey: "UserName")                   NotificationCenter.default.post(name: NSNotification.Name("statusChange"), object: nil)       }     }
0
0
640
Mar ’22
Thread 1: Fatal error: No ObservableObject of type msgDatas found. A View.environmentObject(_:) for msgDatas may be missing as an ancestor of this view.
It throw fatal error for data in "  self.data.selectedData = i", even I try to calling @State for solve, but nothing change. Main: struct Main : View {       @EnvironmentObject var data : msgDatas   @State var show: Bool = false       var body : some View{           List(msgs){i in               cellView(pic: i.pic, name: i.name, msg: i.msg, time: i.time, msgs: i.msgs).onTapGesture {                   self.data.selectedData = i         self.show.toggle()       }     }   } } cellView: struct cellView : View {       var pic : String   var name : String   var msg : String   var time : String   var msgs : String       var body : some View{           HStack(spacing: 15){               Image(pic).resizable().frame(width: 50, height: 50).clipShape(Circle())               VStack(alignment:.leading,spacing: 5){                   Text(name)         Text(msg).lineLimit(2)       }               Spacer()               VStack(spacing: 10){                   Text(time)         if msgs != ""{                       Text(msgs).padding(8).background(Color("bg")).foregroundColor(.white).clipShape(Circle())         }         else{                       Spacer()         }       }             }.padding(9)   } }
Replies
30
Boosts
0
Views
3.6k
Activity
Mar ’21
Destination view for multiple list item in SwiftUI
I have list item, and all item destination view routed to EndView, how can I add multiple destination view for every item, for example: when I click the first item it will open EndView, when I click the second item it will open NewView...., any idea will be appreciated. Option: struct InnerOptionValues: Codable {   var title: String   var image: String   var isAddSection: Bool   var isUseToggle: Bool   var headerTitle: String } extension Option {   static let listValues: [InnerOptionValues] = [     .init(title: "title1", image: "image1", isAddSection: true, isUseToggle: false, headerTitle: ""),     .init(title: "title2",image: "image2", isAddSection: false, isUseToggle: false, headerTitle: ""),     .init(title: "title3", image: "image3", isAddSection: false, isUseToggle: false, headerTitle: ""),     .init(title: "4", image: "image4", isAddSection: false, isUseToggle: false, headerTitle: ""),     .init(title: "5", image: "image5", isAddSection: false, isUseToggle: false, headerTitle: ""),   ]     InnerView: struct InnerView: View {   let value: InnerOptionValues       var body: some View {     return NavigationLink(destination: EndView(value: value)) {       HStack {         Image(value.image)           .resizable()           .frame(width: 16, height: 16)           .aspectRatio(contentMode: .fill)         Text(value.title)           .foregroundColor(.blue)           .font(.system(size: 18))       }     }   } } struct EndView: View {   let value: InnerOptionValues       var body: some View {     return NavigationLink(destination: EndView(value: value)) {               Text("Coming Soon!!!")         .font(.system(size: 25))         .foregroundColor(.blue)     } .navigationBarTitle(Text(value.title), displayMode: .inline)   } }
Replies
0
Boosts
0
Views
514
Activity
Apr ’21
Why list menu items not shown in SwiftUI project?
I have list item menu project in SwiftUI, my project work, but I have list icons, they are not shown in list view, even I was try to use system image, there is not any change on screen, any idea? struct MasterView: View { let view1 = Menu(name:"Home", image:"image_home", destination:.home) let view2 = Menu(name:"View 1", image:"image_view1", destination:.view1) let view3 = Menu(name:"View 3", image:"image_view2", destination:.view2) var body: some View { let menus: [Menu] = [view1, view2, view3] return List { ForEach(menus) { menu in self.destinationView(menu: menu) }}} func destinationView(menu: Menu) - some View { switch menu.destination { case .view1: return NavigationLink( destination: AnyView(View1(menu: menu)) ) { Text("\(menu.name)") } case .view2: return NavigationLink( destination: AnyView(View2(menu: menu)) ) { Text("\(menu.name)") } default: return NavigationLink( destination: AnyView(HomeView(menu: menu)) ) { Text("\(menu.name)") }}}} Model.swift: /// Main menu item for the list struct Menu: Identifiable { var id = UUID() var name: String var image: String var destination: ViewType } enum ViewType { case home case view1 case view2 }
Replies
5
Boosts
0
Views
1.7k
Activity
Apr ’21
Cannot convert value of type 'EventsTrigger' to expected argument type 'String?
Code below throw error as cannot convert value of type 'EventsTrigger' to expected argument type 'String?, where I miss? EventsTrigger class: public class EventsTrigger: NSObject {   static let instance: EventsTrigger = EventsTrigger() } and  self.service = NewService("node4", EventsTrigger.instance, err)
Replies
7
Boosts
0
Views
511
Activity
Jun ’21
SwiftUI: Change List row Highlight colour when tapped
The default colour of a list row when tapped is grey. I try many solution on stackoverflow and apple form, I did not solve problem, any idea? RecentRowView: struct RecentRowView: View {         var body: some View {            HStack(spacing: 15){       List{         NavigationLink(destination: SecondView()                           ){                 VStack{         HStack{             VStack(alignment: .leading, spacing: 8, content: {                             Text(recent.name)                 .font(.custom("Helvetica Neue", size: 14))                               })           Spacer(minLength: 10)           ZStack {                 }           }  }          }         }        }     }    }
Replies
1
Boosts
0
Views
4k
Activity
Sep ’21
Change icons border when click the bottom tab bar in Swift
I have custom bottom navigation bar in IOS application, everythings work very well, and I want to change bottom navigation items tint color when I click the items, and I was use the self.imgView.image!.withRenderingMode(.alwaysTemplate) self.imgView.tintColor = .red in isSelected, and it is change whole icons border tint color. I do not know where I miss, any idea? RootStackTabViewController: class RootStackTabViewController: UIViewController { @IBOutlet weak var bottomStack: UIStackView! var currentIndex = 0 lazy var tabs: [StackItemView] = { var items = [StackItemView]() for _ in 0..<5 { items.append(StackItemView.newInstance) } return items }() lazy var tabModels: [BottomStackItem] = { return [ BottomStackItem(title: "Home", image: "home"), BottomStackItem(title: "Favorites", image: "heart"), BottomStackItem(title: "Search", image: "search"), BottomStackItem(title: "Profile", image: "user"), BottomStackItem(title: "Settings", image: "settings") ] }() override func viewDidLoad() { super.viewDidLoad() self.setupTabs() } func setupTabs() { for (index, model) in self.tabModels.enumerated() { let tabView = self.tabs[index] model.isSelected = index == 0 tabView.item = model tabView.delegate = self self.bottomStack.addArrangedSubview(tabView) } } } StackItemView: protocol StackItemViewDelegate: AnyObject { func handleTap(_ view: StackItemView) } class StackItemView: UIView { @IBOutlet weak var titleLabel: UILabel! @IBOutlet weak var imgView: UIImageView! @IBOutlet weak var highlightView: UIView! private let higlightBGColor = UIColor(hexString: "1160FB") static var newInstance: StackItemView { return Bundle.main.loadNibNamed( StackItemView.className(), owner: nil, options: nil )?.first as! StackItemView } weak var delegate: StackItemViewDelegate? override func awakeFromNib() { super.awakeFromNib() self.addTapGesture() } var isSelected: Bool = false { willSet { self.updateUI(isSelected: newValue) self.titleLabel.textColor = UIColor.white self.imgView.image!.withRenderingMode(.alwaysTemplate) self.imgView.tintColor = .red } } var item: Any? { didSet { self.configure(self.item) } } private func configure(_ item: Any?) { guard let model = item as? BottomStackItem else { return } self.titleLabel.text = model.title self.imgView.image = UIImage(named: model.image) self.isSelected = model.isSelected } private func updateUI(isSelected: Bool) { guard let model = item as? BottomStackItem else { return } model.isSelected = isSelected let options: UIView.AnimationOptions = isSelected ? [.curveEaseIn] : [.curveEaseOut] UIView.animate(withDuration: 0.4, delay: 0.0, usingSpringWithDamping: 1.0, initialSpringVelocity: 0.5, options: options, animations: { self.titleLabel.text = isSelected ? model.title : "" let color = isSelected ? self.higlightBGColor : .white self.highlightView.backgroundColor = color (self.superview as? UIStackView)?.layoutIfNeeded() }, completion: nil) } } extension StackItemView { func addTapGesture() { let tapGesture = UITapGestureRecognizer(target: self, action: #selector(handleGesture(_:))) self.addGestureRecognizer(tapGesture) } @objc func handleGesture(_ sender: UITapGestureRecognizer) { self.delegate?.handleTap(self) } }
Replies
1
Boosts
0
Views
1.2k
Activity
Jul ’21
How we can use userInteractionEnabled in (number.name) for number only?
I have number.name array like 1.go, 2.java, 3.swift etc..and I do not want to edit the number again, user will only change name. Is it possible?   if words.count == 24 {         for (index, textField) in textFields.enumerated() {           textField.delegate = self           textField.firstDesign()           textField.text = "\(index + 1). \(words[index])"           mneArr.append(words[index])         }
Replies
3
Boosts
0
Views
514
Activity
Jul ’21
How can I use the searchable feature for my row data in SwiftUI?
I have data in row like  Text(data.user) and I want to use searchable for it, I can use search bar, bat I want to use filter for user.    Text(data.user)                   .searchable(text: $searchText, placement: .navigationBarDrawer) like here, tere is some example for filter, but how can I use it for my data. Any idea? .onChange(of: searchText) { searchText in       if !searchText.isEmpty {         articles = sampleArticles.filter { $0.title.contains(searchText) }     } else {         articles = sampleArticles     } }
Replies
3
Boosts
0
Views
580
Activity
Sep ’21
Why we are not enable to hide bottom nav bar in SwiftUI still?
I am have a problem in general in SwiftUI, when we click any items we are open new view, but bottom nav bar still not hide, why there is not any solution in SwiftUI still?
Replies
0
Boosts
0
Views
311
Activity
Feb ’22
How we can use grid view for buttons in SwiftUI?
I want to use many buttons like background have custom colors with grid view in swiftUI, is it possible? I know how to use grid layout for images, but I have confused to use for custom colors.
Replies
0
Boosts
0
Views
367
Activity
Feb ’22
How can use model in view shortly?
I have small restaurans data in content view, but I want to use this data shortly inside of the homeview, I am typing   to use  @State var restaurants: [ Restaurant] but in other view I have HomeView, it is throw an error like     Cannot convert value of type '[Restaurant].Type' to expected argument type '[Restaurant]' for    HomeView( restaurants: [Restaurant]) line of code, I do not know what I missed? Any idea? struct HomeView: View { @State var restaurants = [ Restaurant(name: "Cafe Deadend", image: "cafedeadend"), Restaurant(name: "Homei", image: "homei"), Restaurant(name: "Teakha", image: "teakha"), Restaurant(name: "Cafe Loisl", image: "cafeloisl"), ] }
Replies
0
Boosts
0
Views
341
Activity
Feb ’22
Is it possible to use custom emoji in SwiftUI?
I am searching for a long time, how we can use custom emoji in SwiftUI, for a chat app, there is some example on internet but they are not for custom emoji, is it possible in SwiftUI?
Replies
1
Boosts
0
Views
1.3k
Activity
Feb ’22
Why I am not succes to register in my app in SwiftUI?
I am use firebase for my SwiftUI App, and I want to register with mail, but when I typing my mail it is throw an error like Oops! Something went wrong. Please try again. I do not know why? here is my code: StatusViewModel: class StatusViewModel: Identifiable, ObservableObject {       var title: String   var message: String       init(title: String = "", message: String = "") {     self.title = title     self.message = message   }       static var signUpSuccessStatus: StatusViewModel {     return StatusViewModel(title: "Successful", message: "Your account has been created successfully")   }       static var logInSuccessStatus: StatusViewModel {     return StatusViewModel(title: "Successful", message: "Your account has been logged in successfully")   }       static var errorStatus: StatusViewModel {     return StatusViewModel(title: "Error", message: "Oops! Something went wrong. Please try again.")   } } RegisterViewModel: import Foundation import Combine class RegisterViewModel: ObservableObject {   @Published var email: String = ""   @Published var password: String = ""   @Published var statusViewModel: StatusViewModel?   @Published var state: AppState       private var cancellableBag = Set<AnyCancellable>()   private let authAPI: AuthAPI       init(authAPI: AuthAPI, state: AppState) {     self.authAPI = authAPI     self.state = state   }       func signUp() {     authAPI.signUp(email: email, password: password)       .receive(on: RunLoop.main)       .map(resultMapper)       .replaceError(with: StatusViewModel.errorStatus)       .assign(to: \.statusViewModel, on: self)       .store(in: &cancellableBag)   } } extension RegisterViewModel {   private func resultMapper(with user: User?) -> StatusViewModel {     if user != nil {       state.currentUser = user       return StatusViewModel.signUpSuccessStatus     } else {       return StatusViewModel.errorStatus     }   } } struct Register: View {       @ObservedObject private var viewModel: RegisterViewModel   @State var pushActive = false         init(state: AppState) {           self.viewModel = RegisterViewModel(authAPI: AuthService(), state: state)           }   var body: some View {   NavigationLink(destination: HomeView(state: viewModel.state),                       isActive: self.$pushActive) {                 Button {                              self.viewModel.signUp()                                     } label: {                   Text("Register")                     .padding()                                     }               } } }
Replies
0
Boosts
0
Views
561
Activity
Mar ’22
How we can use the multiple register screen in SwiftUI for firebase?
I have multiple register screen in swiftUI, I did not understand how I will connect first register screen to second register screen, normally first register screen connect to main screen, but I want to connect first register screen to second register screen, and connect second register screen to main screen, how can I do it, any idea? StatusViewModel: class StatusViewModel: Identifiable, ObservableObject {       var title: String   var message: String       init(title: String = "", message: String = "") {     self.title = title     self.message = message   }       static var signUpSuccessStatus: StatusViewModel {     return StatusViewModel(title: "Successful", message: "Your account has been created successfully")   }       static var logInSuccessStatus: StatusViewModel {     return StatusViewModel(title: "Successful", message: "Your account has been logged in successfully")   }       static var errorStatus: StatusViewModel {     return StatusViewModel(title: "Error", message: "Oops! Something went wrong. Please try again.")   } } RegisterViewModel: import Foundation import Combine class RegisterViewModel: ObservableObject {   @Published var email: String = ""   @Published var password: String = ""   @Published var statusViewModel: StatusViewModel?   @Published var state: AppState       private var cancellableBag = Set<AnyCancellable>()   private let authAPI: AuthAPI       init(authAPI: AuthAPI, state: AppState) {     self.authAPI = authAPI     self.state = state   }       func signUp() {     authAPI.signUp(email: email, password: password)       .receive(on: RunLoop.main)       .map(resultMapper)       .replaceError(with: StatusViewModel.errorStatus)       .assign(to: \.statusViewModel, on: self)       .store(in: &cancellableBag)   } } extension RegisterViewModel {   private func resultMapper(with user: User?) -> StatusViewModel {     if user != nil {       state.currentUser = user       return StatusViewModel.signUpSuccessStatus     } else {       return StatusViewModel.errorStatus     }   } } first register screen: struct Register: View {       @ObservedObject private var viewModel: RegisterViewModel   @State var pushActive = false         init(state: AppState) {           self.viewModel = RegisterViewModel(authAPI: AuthService(), state: state)           }   var body: some View {  VStack(){                               TextField("Email Address",text:$viewModel.email)                 .autocapitalization(.none)                 .padding()                  HStack(spacing: 15){                     TextField("Password", text: $viewModel.password)                       .autocapitalization(.none)                                 }   NavigationLink(destination: HomeView(state: viewModel.state),                       isActive: self.$pushActive) {                 Button {                              self.viewModel.signUp()                                     } label: {                   Text("Register")                     .padding()                                     }               } } } second register screen: struct SecondRegister: View {   var body: some View {           GeometryReader { geometry in          ZStack{           VStack(alignment: .center, spacing: 3){                          TextField("First Name",text:self.$first_name)                 .autocapitalization(.none)                 .padding()               TextField("Last Name", text: self.$last_name)                 .autocapitalization(.none)                 .padding()                                 }                 Button {                 } label: {                   Text("Next")                     .padding()                    }             }           }.padding()           }.padding(.top,60)                 }     }
Replies
0
Boosts
0
Views
576
Activity
Mar ’22
Why I am able to register user info to firebase in SwiftUI App?
I have register screen and I am not able to register info to firebase, I put user info on simulator, but it just hold on on screen, and no any change on firebase, any idea? where I missed? import SwiftUI import Firebase struct Register: View {   @State var name = ""   @State var about = ""       @Binding var show : Bool   var body: some View {    VStack(alignment: .center, spacing: 3){                          TextField("Name",text:self.$name)                 .padding()                                       TextField(" about", text: self.$about)                 .padding()                if self.loading{                                          HStack{                                              Spacer()                                              Indicator()                                              Spacer()                     }                   }                                        else{                                 Button {                                       if self.name != "" && self.about != "" {                                                    self.loading.toggle()                     CreateUser(name: self.name, about: self.about) { (status) in                                                          if status{                                                              self.show.toggle()                                                       }                         }                       }                     else{                                                    self.alert.toggle()                                             }                 } label: {                   Text("Next")                     .padding()                    }               } } import Foundation import Firebase func CreateUser(name: String,about : String, completion : @escaping (Bool)-> Void){       let db = Firestore.firestore()       let storage = Storage.storage().reference()       let uid = Auth.auth().currentUser?.uid                   db.collection("users").document(uid!).setData(["name":name,"about":about, "uid":uid!]) { (err) in                   if err != nil{                       print((err?.localizedDescription)!)           return         }                   completion(true)                   UserDefaults.standard.set(true, forKey: "status")                   UserDefaults.standard.set(name, forKey: "UserName")                   NotificationCenter.default.post(name: NSNotification.Name("statusChange"), object: nil)       }     }
Replies
0
Boosts
0
Views
640
Activity
Mar ’22