Frissítse a watchOS alkalmazást, hogy megfeleljen az új Apple irányelveknek
Mint mindannyian tudjuk, a watchOS 7 bevezetése megölte az erőszakos érintést. Valójában a watchOS 7 előtti verzióiban az emberek határozottan megnyomhatták a kijelzőt, hogy megnyissák az aktuális képernyőre vonatkozó rejtett menüt.
Az Apple most azt javasolja, hogy távolítsa el az alkalmazásunkból a rejtett menüket, és vizsgálja meg az egyes elemeket annak megállapításához, hogy ezek információt nyújtanak-e, vagy végrehajtanak-e valamilyen műveletet.
Az emberi felületre vonatkozó irányelveikben néhány alternatívát nyújtanak a cselekvésre alkalmas elemekhez. Az egyik egy műveletgombot tesz a navigációs sáv alá.
Ebben a kialakításban az emberek lehúzódnak, hogy felfedjék a gombot. Annak ellenére, hogy egy ilyen gomb nem látható a képernyő első megnyitásakor, az emberek könnyen felfedezhetik, mert a húzás nagyon gyakori gesztus. Például a Mail áthelyezi az Írás gombot egy rejtett menüből egy beérkező üzenetek listája fölé. Az Írás gomb nincs útban, amíg az emberek nem húzzák le a képernyőt az üzenetlista frissítéséhez.
Ebben a cikkben megvizsgáljuk ezt a megoldást. Így fog kinézni alkalmazásunk:
Először hozzunk létre egy új SwiftUI watchOS projektet:
Válassza a WatchOS, majd a Alkalmazás megtekintése:
lehetőséget
Színes lista létrehozása
Lépjünk a ContentView.swift
oldalra, és hozzunk létre tíz színes kört egy függőleges ScrollView
:
A színek
-t, a Color típusú tömböt a @State
jelzéssel láttuk el, mert később módosítanunk kell azt a gombot, amelyet a navigációs sáv.
Ezután a gomb elrejtéséhez be kell ágyaznunk egy ScrollViewReader
nevű struktúrát (amelyet a watchOS 7 és iOS 14 rendszerrel együtt vezetünk be) a ScrollView
fájlunkba:
A ScrollViewReader
struktúra a scrollTo ()
nevű metódust biztosítja, amely a szülő ScrollView
belsejében lévő bármely nézethez csak a horgonyának megadásával tud mozogni. Így beállíthatjuk a scrollTo ()
értéket a listánk első elemére ( scrollTo (0)
) a onAppear
módszeren belül, amelyet a nézet megjelenésekor hajtanak végre.
Bevezettünk egy új @State changed
-t is, hogy csak szükség esetén szerkesszük a színek
tömböt.
Az alkalmazás befejezésének utolsó lépése egy gomb
létrehozása és a ForEach
hurok elé helyezése.
Ha most futtatjuk az alkalmazásunkat, a „Szín módosítása” gombot el kell rejteni, és húzáskor meg kell tudnunk jeleníteni:
Köszönjük, hogy elolvastad! Remélem, élvezte ezt a kis oktatóanyagot, és valami újat tanult. A kész projekt megtalálható a GitHub oldalon.