2013-10-06 15 views
8

Sto utilizzando un UISnapBehavior ma si sta spezzando troppo velocemente per i miei gusti. C'è un modo per rallentarlo? O in altre parole: c'è un modo per regolare l'elasticità dell'oggetto con il punto in cui dovrebbe scattare?Rallentamento UISnapBehavior

risposta

14

Sono stato in grado di risolvere questo problema allegando la vista a UIDynamicItemBehavior e impostando la proprietà resistance.

UIDynamicItemBehavior *dynamicItemBehavior = [[UIDynamicItemBehavior alloc] initWithItems:@[ view ]]; 
dynamicItemBehavior.resistance = 100; 
[animator addBehavior:dynamicItemBehavior]; 
+0

Puoi pubblicare uno snippet di codice per questo? Sto facendo la stessa cosa ma non vedo un effetto sulla velocità dello snap ... –

+0

Ah! Non importa, stavo usando i valori tra 0 e 1, i valori su 1 fanno il trucco –

+0

ya @AlfieHanssen, sto usando i valori di 50 e 100 proprio ora nella mia app – drewag

2

Provare a impostare la proprietà damping del comportamento su un numero> 1.0. L'intestazione dice che damping dovrebbe rimanere in [0.0, 1.0] tuttavia i valori superiori a 1.0 sembrano funzionare correttamente.

+0

Questo potrebbe essere il modo migliore se si desidera solo influenzare il comportamento dello snap senza influire sulla fisica dell'elemento che viene spezzato. Ad esempio, se si ha una velocità sull'oggetto e si imposta la resistenza alta, anche la velocità avrà un effetto minore. Tuttavia, purtroppo, quando si imposta lo smorzamento, le cose si fanno vorticose con il comportamento casuale e mi chiedo se sia un bug. –

+0

Grazie, lo smorzamento con lo smorzamento 10 mi sembra bello –

Problemi correlati