Cerqueu amb SwiftUI per a iOS 15

Anteriorment, iOS 15 SwiftUI no estava disponible amb un modificador de processament de cerca integrat List opinions. Els desenvolupadors han de crear la seva pròpia solució. Hem escrit a una lliçó mostra com incrustar una barra de cerca a SwiftUI mitjançant TextField i mostreu el resultat de la cerca. Amb el llançament d’iOS 15, el marc SwiftUI té un nou modificador de nom searchable a List opinions.

En aquest tutorial veurem aquest modificador i veurem fàcilment que és aplicar una cerca de llista.

Ús bàsic del que es busca

Barra de cerca-ios15-demo

Suposem que heu creat una vista de llista per mostrar un conjunt d’articles i voleu proporcionar una barra de cerca per filtrar-los. Per afegir una barra de cerca a una vista de llista, tot el que heu de fer és declarar una variable d’estat per mantenir el text de la cerca i adjuntar-la searchable modificador de NavigationView com això:

SwiftUI crea automàticament la barra de cerca i la col·loca sota el títol de la barra de navegació.

barra de cerca swiftui-search

Per defecte, mostra la paraula Cerca com a substitut. En cas que el vulgueu canviar, podeu escriure .searchable modificador com aquest i utilitzeu el vostre propi valor substitutiu:

Inseriu la barra de cerca

El .searchable el modificador té placement paràmetre per especificar on col·locar la barra de cerca. El valor per defecte està definit a .automatic. A l’iPhone, la barra de cerca es col·loca a sota del títol de la barra de navegació. Quan desplaceu-vos cap amunt per la vista de llista, la barra de cerca s’amagarà.

search-constant-search-location de la barra de cerca

Si voleu mostrar constantment el quadre de cerca tal com es mostra més amunt, podeu canviar-lo .searchable modificador i especificar placement paràmetre com aquest:

Ara us adjuntem .searchable modificador de visualització de navegació. En realitat, podeu adjuntar-lo a List revisar i aconseguir el mateix resultat a l’iPhone.

Tanmateix, la col·locació de .searchable modificador afecta la posició del quadre de cerca quan s’utilitza Splitview a l’iPad OS. Penseu en el següent exemple de codi:

Com és habitual, us adjuntem .searchable modificador de visualització de navegació. En aquest cas, la barra de cerca apareix a la barra lateral de la vista dividida.

cerca ipados

Què passa si voleu posar el quadre de cerca a la vista detallada? Només podeu adjuntar .searchable modificador de Text vista de codi de mostra.

IPadOS farà la barra de cerca a l’extrem superior dret de la vista detallada.

barra de cerca-ipados-search

De nou, podeu canviar la ubicació de la barra de cerca ajustant el valor de placement paràmetre. Aquí teniu un exemple:

Configurant placement paràmetre a .navigationBarDrawer, iPadOS col·loca el quadre de cerca sota el títol de la barra de navegació.

search-ipados-navigationbardrawer

Realitzeu una cerca i mostreu els resultats de la cerca

cerca-rendiment-cerca

Hi ha diferents maneres de filtrar la llista de dades. Podeu crear una propietat calculada que realitzi un filtrat de dades en temps real. També podeu adjuntar-lo .onChange modificador per fer un seguiment del canvi al quadre de cerca. Cada vegada que l’usuari escriu al quadre de cerca, realitzeu la cerca en temps real. Aquí teniu un exemple de fragment de codi:

Afegiu suggeriments de cerca

El .searchable modificador us permet afegir una llista de suggeriments de cerca per mostrar alguns termes de cerca o historial de cerca utilitzats habitualment. Per exemple, podeu crear un suggeriment de cerca tàctil de la manera següent:

Es mostra un suggeriment de cerca amb dos termes de cerca tàctils. Els usuaris poden escriure la paraula clau de cerca o tocar el suggeriment de cerca per realitzar la cerca.

search-swiftui-execution-search

Resum

iOS 15 ofereix una altra característica de benvinguda per al marc SwiftUI. El .searchable modificador simplifica l’execució de la barra de cerca i ens estalvia temps de crear la nostra pròpia solució. L’inconvenient és que aquesta funció només està disponible per a iOS 15 (o posterior). Si creeu una aplicació que necessiti donar suport a versions anteriors d’iOS, encara la necessitareu creeu la vostra pròpia barra de cerca.


Fundador d’AppCoda. Autor de nombrosos llibres sobre programació iOS, incloent Iniciar la programació iOS amb Swift i Mastering SwiftUI. Desenvolupador d’aplicacions per a iOS i Blogger. Segueix-me a Facebook, Twitter i Google+.

Add a Comment

Your email address will not be published. Required fields are marked *