Ez egy teljesen új fájlt használ az új MyCustomSegue
osztály fedezésére; meglehetősen kreatívan hívtam ezt a fájlt mycustomsegue.swift, amely a UIStoryboardSegue
– ből örököl.
a segue akciója a perform függvényben kerül végrehajtásra felülbírálva. override func perform()
vegyük a perform()
lépésről lépésre. Az átmenet feletti ellenőrzés megszerzéséhez a MyCustomSegue
értéket a transitioningDelegate
értékre állítjuk. Az osztály tetején van egy megőrzött hivatkozás private var selfRetainer: MyCustomerSegue? = nil
ami szükséges, mivel UIKit
nem őrzi meg a UIStoryboardSegue
példányait, így erős hivatkozás jön létre ugyanarra. A megjelenítési stílus beállítása .fullScreen
az eredeti nézetvezérlő cseréjéhez.
a transitioningDelegate
olyan módszereket biztosít, amelyek a prezentációhoz és az elbocsátáshoz működnek. Két osztályt vezetünk be, Presenter
és Dismisser
hogy foglalkozzunk azokkal, hogy elfogadják a UIViewControllerAnimatedTransitioning
és NSObject
.
a műsorvezetőt nagyon könnyű írni.
itt van a bemutató megfelel a protokollnak, amelynek funkcióifunc transitionDuration(using transitionContext: UIViewControllerContextTransitioning?) -> TimeInterval
andfunc animateTransition(using transitionContext: UIViewControllerContextTransitioning)
.
ezek közül az előbbi egyszerűen egy idő, az 1.5 meglehetősen szép idő erre a fade animációra.
a betű az animáció; így a fade lesz a bemutató nézet vezérlő áttetsző átlátszatlan (azaz 0,0-1,0).
mi ez? Akarsz egy játszóteret mindennel együtt? Adok neked, akkor:
jobb lesz egy egész Repo a munka rajta. Rendben, ez az oldal alján található.
következtetés
a Seguek nem olyan egyszerűek, mint gondolnánk, de lehetővé teszik a felhasználó utazásának animálását az alkalmazáson keresztül, és az adatok mozgatását.
ki ne szeretné ezt?
remélem, ez az útmutató adott neked egy lökést a helyes irányba ezt a (bár szórakoztató) módon át a felhasználó és az adatok körül egy alkalmazást.