iOS SDK animațiile vă permit să vă păstrați aplicațiile cu efecte vizuale și tranziții atrăgătoare. Cu SDK-ul iOS, animațiile sunt frecvent utilizate pentru vizualizarea repozițiilor, redimensionarea vizualizărilor, eliminarea sau adăugarea vederilor din ierarhiile de vizualizare și ascunderea totală a vederilor. Citiți mai departe pentru a afla cum sunt obținute aceste efecte!
Pentru a crea o animație cu SDK-ul iOS, nu este necesar să scrieți niciun cod de desen personalizat. Tot ce trebuie să faceți este să declanșați animațiile cu câteva apeluri simple, iar Core Animation framework-ul va face munca grea. Cu acest cadru puteți crea o animație în doar câteva rânduri de cod și asta e un lucru bun pentru noi ca dezvoltatori leneși!
În UIKit, animațiile sunt realizate folosind obiecte UIView. Puteți anima modificările în proprietățile vizualizării sau utilizați animațiile de tranziție pentru a înlocui un set de vizualizări cu altul. Puteți anima următoarele proprietăți UIView cu UIKit:
Dacă aplicația dvs. rulează în iOS 3.2 și mai devreme, trebuie să utilizați beginAnimations: Context:
și commitAnimations
clasa de UIView pentru a defini blocurile de animație. Aceasta este metoda pe care o voi folosi în acest sfat rapid, deoarece funcționează pe toate versiunile de iOS.
Pentru a începe un bloc de animație, veți folosi [Contextul UIView beginAnimations: (NSString *): (void *)];
. După scrierea codului pentru a configura animația (adică schimbarea proprietăților UIView), veți încheia blocul de animație cu [Afișează comenziAnimații];
.
Puteți configura un bloc de animație cu următoarele metode de clasă UIView:
Cu începutul și comiterea codului de mai sus, puteți crea o animație. Pentru a vedea acest lucru în practică, să examinăm un exemplu:
[UIView beginAnimations: @ "Prima mea animație" context: nil]; [UIView setAnimationDuration: 1.0]; [UIView setAnimationDelay: 2.0]; self.view.backgroundColor = [UICcolor redColor]; [Afișează comenziAnimații];
După cum puteți vedea, am început cu blocul de animație [Contextul UIView beginAnimations: (NSString *): (void *)];
și l-am numit "Prima mea animație". După aceea am setat durata la 1 secundă și întârzierea la 2 secunde, astfel încât animația va începe după două secunde și va dura o secundă pentru a finaliza. Cu această animație animez culoarea de fundal a imaginii la o culoare roșie. Dacă culoarea de fundal a ecranului era deja roșie, nu veți vedea animația, dar va continua să animați. În sfârșit termin cu blocul de animație [Afișează comenziAnimații];
.
Iată un exemplu de animație în care ne rotim într-o vedere:
[UIView beginAnimations: @ "Rotire" context: nil]; [UIView setAnimationDuration: 1.0]; [UIView setAnimationDelegate: self]; [UIView setAnimationDidStopSelector: @selector (rotateBack)]; theView.transform = CGAffineTransformMakeRotation (M_PI); [Afișează comenziAnimații];
Configurarea acestui bloc de animație arată la fel ca cea precedentă, doar de această dată am folosit delegatul de animație și am folosit proprietatea transformă. Dacă doriți să utilizați a oprit selectorul , trebuie să setați delegatul la de sine. Deci, dacă această animație este făcută metoda rotateBack va fi numit. Cu proprietatea transformă puteți scala, roti sau transla o vizualizare. Transformarea va fi întotdeauna în 2D. Pentru unghiul de rotație am folosit M_PI după cum puteți vedea. În mod implicit, obiectivul C funcționează cu radiani în loc de grade. 360 de grade este la fel ca 2 ?, astfel încât vederea se va roti la 180 de grade.
- (void) rotateBack [UIView beginAnimations: @ "Rotire înapoi" context: nul]; [UIView setAnimationDuration: 1.0]; theView.transform = CGAffineTransformIdentity; [Afișează comenziAnimații];
Aceasta este metoda care va fi apelată când animația de rotire este terminată. În acest bloc de animație vom roti vederea înapoi în locul inițial. Noi facem asta cu CGAffineTransformIdentity
funcţie. Aceasta va anula transformarea rotirii.
Vreți să aflați mai multe? Puteți vedea mai multe exemple de animație în codul sursă atașat.
Speram ca ti-a placut acest sfat iOS SDK rapid pe animatii! Spuneți-ne părerea dvs., lăsând un comentariu mai jos. De asemenea, puteți sugera idei pentru tutoriale suplimentare pe care să le putem acoperi în viitor!