Post

Replies

Boosts

Views

Activity

Reply to "Searchable" fonctionne bien seul, mais ne filtre plus la recherche, une fois inclus dans mon code.
Après une nouvelle journée de recherches et de tests, mon "searchable" a toujours son problème de filtre après implémentation des boutons et des nav. J'ai appris hier que le "searchable" ne fonctionne que sur iOs15 (sur lequel mon code est pourtant construit). Je me pose la question : "vaut-il mieux utiliser "TextField" et créer soi-même son "searchable" ? Qu'en pensez-vous ? Quelqu'un d'autre a-t-il des problèmes avec "searchable" ? Merci de votre réponse !
Topic: Programming Languages SubTopic: Swift Tags:
Sep ’22
Reply to "Searchable" fonctionne bien seul, mais ne filtre plus la recherche, une fois inclus dans mon code.
Bonjour Claude, Je viens d'essayer de passer autrement, mais la chose ne fonctionne toujours pas. Alors Merci Beaucoup pour votre aide. Voici mon code (coupé par rubrique car trop long pour ce post): //DEBUT: import SwiftUI struct ListeArbres: View { var image : String = "" @State private var searchText = "" @State var isOn = false func test()->Bool { if isOn == false { isOn = true }else{ isOn = false } return isOn } var Arbres = [ "Aubépine", "Bouleau", "Charme", "Châtaignier", "Chêne", //SUITE : "Tilleul" ] enum NavigationItem { case Aubepine case Bouleau case Charme case Chataignier //SUITE : case Tilleul } @State var navigatedItem: NavigationItem? var body: some View { NavigationView { List (filteredNames, id:\.self) { arbre in Group { VStack { NavigationLink(destination: Aubepine(), tag: NavigationItem.Aubepine, selection: $navigatedItem){EmptyView()} Button( action:{ isOn = test() }, label :{ HStack (spacing: 50){ Image("aubepine fruit") .resizable() .scaledToFit() .frame( height: 70) .position(x: 40, y: 30) .padding(.vertical,4) Text("Aubépine") .font(.title) .position(x: -20, y: 30) } }) } VStack { NavigationLink(destination: Bouleau(), tag: NavigationItem.Bouleau, selection: $navigatedItem){EmptyView()} Button( action:{ //SUITE & FIN : VStack { NavigationLink(destination: Tilleul(), tag: NavigationItem.Tilleul, selection: $navigatedItem){EmptyView()} Button( action:{ isOn = test() }, label :{ HStack (spacing: 50){ Image("tilleul feuille") .resizable() .scaledToFit() .frame(height: 70) .position(x: 50, y: 30) .padding(.vertical,4) Text("Tilleul") .font(.title) .position(x: -20, y: 30) } }) } VStack { } .navigationBarTitleDisplayMode(.inline) .buttonStyle(PlainButtonStyle() )} } .searchable(text: $searchText, prompt: "Chercher") .navigationTitle("Arbres à connaître") .frame(width: 400) } } var filteredNames: [String] { if searchText.isEmpty { return Arbres }else{ return Arbres.filter { $0.contains(searchText) } } } } struct ListeArbres_Previews: PreviewProvider { static var previews: some View { ListeArbres() } // Lorsque ma liste est simple (un text sans bouton, ni navigationLink), le filtre de recherche fonctionne correctement. Mais une fois inclus les boutons et la navigation, le filtre de la searchBar ne renvoie plus rien (elle écrit, mais ne filtre plus). MERCI BEAUCOUP CLAUDE Christophe
Topic: Programming Languages SubTopic: Swift Tags:
Sep ’22
Reply to En présence de plusieurs boutons et de plusieurs vues de destination, comment faire pour que chaque bouton n'ouvre que sur sa propre vue de destination (et non sur toutes les autres)?
(Quelques heures plus tard) My apologize to Claude31 : après avoir cru en ma solution, et après plusieurs heures de nouvelles tentatives pour débloquer mon NavigationLink qui bloquait toujours, mais sur un nouveau point, j'ai repris votre conseille de ce matin et me le suis appliqué. Votre solution fonctionne parfaitement, tous mes bug ont disparu : un très grand merci à vous ! (Mes excuses pour mon entêtement : en vous écoutant tout de suite, j'aurais gagné une bonne après-midi de travail, je le saurais pour la prochaine fois...) Merci encore Christophe
Sep ’22
Reply to En présence de plusieurs boutons et de plusieurs vues de destination, comment faire pour que chaque bouton n'ouvre que sur sa propre vue de destination (et non sur toutes les autres)?
Merci Claude31 pour ton aide Le problème ne venait pas du isOn (que j'ai bien sûr mis dans une fonction, afin d'alléger le script), il s'agissait du NavigationLink qui me renvoyait aléatoirement les vues de destination de plusieurs boutons. J'ai résolu le problème à l'instant en : -créant un enum NavigationItem{ case XXXX case XXY } créant un @State var navigatedItem: NavigationItem? = .XXXX en liant le navigationLink : NavigationLink(destination: XXXX(), tag : NavigationItem.XXXX, selection: $navigatedItem){EmptyView()} Le tout fonctionne à présent comme souhaité. (Ouf!)
Sep ’22