2013-07-29 11 views
5

Qual è il modo per attuare la trasformazione personalizzato (+ animazione) su una superficie vista (simile alle immagini allegate) (non solo limiti di visualizzazione).UIView superficie personalizzato trasformazione/animazione (come 'un effetto goccia d'acqua')

La domanda è principalmente in a che cosa è il modo generale per farlo (non esattamente l'effetto "goccia d'acqua", ma qualsiasi esempio sarebbe sicuramente apprezzato). Immagino che si tratti di una trasformazione "algorythmic" della griglia del layout dei livelli, ma non sono sicuro di quale "scavare" quella tabella.

(Un altro pensiero è che potrebbe essere ottenuto utilizzando alcuni framework, tuttavia, vorrei ancora bisogno di capire la logica di base).

UPDATE:

Abbastanza buona risorsa per gli amanti animazioni stati recentemente trovati da una delle risposte: iPhone Development Wiki.

transformation sample 1 transformation sample 2

risposta

5

Leggi questo ottimo post sul blog di Bartosz Ciechanowski:

http://ciechanowski.me/blog/2014/05/14/mesh-transforms/

Per avvolgetelo: Apple fa con API private intorno ad una classe chiamata 'CAMeshTransform'.

L'autore propone un self-scritta sostituto:

https://github.com/Ciechan/BCMeshTransformView

E 'piuttosto sorprendente in realtà!

+0

In realtà, è successo che ho bisogno di tempo per quella roba al momento. Ma suona incredibilmente, in realtà! Grazie comunque per la risposta. Avrà un aspetto un po 'più tardi. – Agat

1

È possibile utilizzare questo:

- (void)drawWaterRippleAnimation { 
    UIView *view = [[UIView alloc] initWithFrame:CGRectMake(200, 200, 100, 100)]; 
    view.backgroundColor = [UIColor blueColor]; 

    CATransition *animation=[CATransition animation]; 
    [animation setDelegate:self]; 
    [animation setDuration:1.75]; 
    [animation setTimingFunction:UIViewAnimationCurveEaseInOut]; 
    [animation setType:@"rippleEffect"]; 

    [animation setFillMode:kCAFillModeRemoved]; 
    animation.endProgress=1; 
    [animation setRemovedOnCompletion:NO]; 
    [self.view.layer addAnimation:animation forKey:nil]; 
} 

Crediti va al here.

+0

Ah ah! Quattro anni e bah! Buona risposta! C'è un buon collegamento nella pagina a cui si fa riferimento: http://iphonedevwiki.net/index.php/UIViewAnimationState. Aggiornerà la domanda Grazie! – Agat

+0

Sarà molto interessante se si può spuntare questo come risposta: D – felixwcf

+0

Francamente parlando, non funziona con iOS da due anni.) Quindi, non posso testarlo al momento ... – Agat

Problemi correlati