IOS glisser, faites glisser vers la, ou la jeter une UIView
Me demandais comment je pourrais aller les feuilleter ou jetant une UIView, comme http://www.cardflick.co/ ou https://squareup.com/cardcase vidéos de démonstration.
Je sais comment le faire glisser des éléments, mais comment voulez-vous leur donner de la gravité/inertie. Est-ce géré par IOS?
OriginalL'auteur jdog | 2011-07-07
Vous devez vous connecter pour publier un commentaire.
Le genre d'effets que vous décrivez comme la simulation d'un roi de la gravité/inertie peut être produit par le biais de la facilité (démarrage rapide, fin lente) et la facilité de (commencer à ralentir, la fin rapide) des fonctions de temporisation.
De soutien pour l'assouplissement et détente est disponible dans iOS, donc je ne pense pas que vous avez besoin d'une bibliothèque externe, ni beaucoup de travail (bien que, comme vous pouvez l'imaginer, vous aurez besoin de beaucoup de fine tuning).
Cela va animer la traduction d'un objet à une position donnée avec un effet d'atténuation en sortie:
Si vous manipulez votre geste par un
UIPanGestureRecognizer
, le geste de reconnaissance va vous fournir deux informations importantes pour calculer la position finale:velocity
ettranslation
, qui représentent respectivement en combien de temps et combien l'objet a été déplacé.Vous pouvez installer un poêle geste de reconnaissance de votre point de vue (ce qui serait l'objet que vous souhaitez animer, je suppose) comme ceci:
Et de gérer l'animation dans votre gestionnaire de:
essayer de googler "interruptible animations" ou de poser une nouvelle question (et la table de ping-moi dans les commentaires ici si vous le souhaitez).
J'ai trouvé que la clarté de l'animation avant d'achever mon travail. Merci.
ET OÙ EST LA POSITION FINALE ??? n'est-ce pas la partie la plus importante !!
OriginalL'auteur
iOS n'ont pas intégré une API pour que la gravité/inertie. Vos meilleures options sont:
Simuler l'effet avec des animations: si vous êtes à la chiquenaude d'un objet vers une cible (il n'a pas besoin de rebondir sur des choses), vous pourriez probablement obtenir un assez bon résultat, juste en envoyant à la cible et à peaufiner l'animation courbe de temps.
Utilisation physique de la bibliothèque. Tamia est d'une grande qualité et il y a beaucoup de prise en charge d'iOS disponible. Vous définissez des objets, de leur assigner des poids, de décrire leurs formes, et puis le code de la bibliothèque va vous donner des mises à jour (x,y) les coordonnées de sorte que vous pouvez mettre à jour vos objets à l'écran.
OriginalL'auteur
Il n'y a rien intégré à iOS qui fait cela pour vous, mais vous pouvez facilement mettre en œuvre vous-même. J'aimerais commencer par la création d'un geste de reconnaissance qui reconnaît le "feuilleter" le geste que vous souhaitez utiliser, peut-être quelque chose que la recherche constante de la direction et de l'augmentation de la vitesse. Lorsque vous reconnaître un tel geste, vous avez juste à animer le touché de vue de la position appropriée.
OriginalL'auteur