det er også muligt at videregive data gennem segue på samme måde som beskrevet ovenfor.
Opret din egen, brugerdefinerede Segue
en grund til at oprette din egensegue
er at oprette en dejlig animation, når en visning præsenteres.
min animation? En Fade ud (repræsenterer vores fading fra livet, kærlighed).
den segue, vi opretter, er en brugerdefineret Segue (snarere end Vis segue ovenfor).
inden for denne segue skal vi vælge segueklassen og indstille en identifikator. Her kalder vi det customSegue
.
dette bruger derefter en helt ny fil til at dække den nye MyCustomSegue
klasse; jeg har ret kreativt kaldt denne fil mycustomsegue.Hurtig, der arver fra UIStoryboardSegue
.
segues handling vil blive godt udført i udfør-funktionen med tilsidesættes. override func perform()
lad os tage perform()
trin for trin. For at få kontrol over overgangen indstiller vi MyCustomSegue
for at være transitioningDelegate
. Øverst i klassen er der en bevaret reference private var selfRetainer: MyCustomerSegue? = nil
, der kræves som UIKit
beholder ikke forekomster af UIStoryboardSegue
så der oprettes en stærk reference til det samme. Præsentationsstilen er indstillet til .fullScreen
for at erstatte den originale visningskontroller.
transitioningDelegate
giver metoder, der arbejder for præsentation og afskedigelse. Vi introducerer to klasser, Presenter
og Dismisser
for at håndtere dem, at de vedtager og NSObject
.
præsentanten er ret let at skrive.
Her har vi præsentanten opfylder protokollen med funktionernefunc transitionDuration(using transitionContext: UIViewControllerContextTransitioning?) -> TimeInterval
ogfunc animateTransition(using transitionContext: UIViewControllerContextTransitioning)
.
førstnævnte af disse er simpelthen en tid, 1.5 er et ret godt tidsrum for denne fade animation.
brevet er animationen; så fade vil være for den præsenterende visningskontroller fra gennemsigtig til uigennemsigtig (det er 0,0 til 1,0).
Hvad er det? Vil du have en legeplads med alt inkluderet? Jeg vil give dig det, så:
bedre vil være en hel Repo med arbejdet på det. Ok, det er nederst på denne side.
konklusion
Segues er ikke så lette som man måske tror, men de giver dig mulighed for at animere brugerens rejse gennem din App og skubbe data rundt.
hvem ville ikke have det?
Jeg håber, at denne vejledning har givet dig et skub i den rigtige retning for denne (omend sjove) måde at overføre din bruger og deres data omkring en App.