Widget de “flip” comportement en Core Animation/Cacao
Je suis en train de faire une Carte de classe qui reproduit le comportement des widgets que vous pouvez placer des contrôles ou des images ou quoi que ce soit sur les deux côtés de la carte et de basculer entre eux.
Couche adossés à des points de vue ont une transformation de la propriété, mais que la modification ne fait pas ce que je m'attends à ce qu'il a à faire (la rotation de la couche autour de l'axe des plis pour le côté gauche).
J'ai été mis en évidence quelques fonctionnalités non documentées et une .h fichier nommé cgsprivate.h, mais je me demandais si il existe un moyen officiel pour ce faire? Ce logiciel devra être expédié et j'avais hate de le voir échouer plus tard, parce que la Pomme gars tirer 10.6.
Quelqu'un a une idée de comment faire cela? C'est tellement bizarre pour moi qu'un simple widget chose serait si dur à faire en Core Animation.
Merci d'avance!
EDIT: je peux accomplir ce comportement avec des images qui sont sur des calques, mais je ne sais pas comment obtenir des commandes plus avancées/vues/whatever sur les couches. La carte exemple utilise des images.
OriginalL'auteur | 2008-12-16
Vous devez vous connecter pour publier un commentaire.
Mike Lee a une mise en œuvre de l'effet flip pour lequel il a publié quelques exemple de code.(Malheureusement, ce n'est plus disponible en ligne, mais a Attiré l'McCormack de que dans sa mise en œuvre.) Il semble qu'il attrape les couches pour le "fond" et de "premier plan" points de vue à être échangé, utilise un CATransform3D pour faire pivoter les deux points de vue dans l'animation, et procède à un échange de vues une fois l'animation terminée.En utilisant les couches de la vue, vous éviter d'avoir à cache en bitmap, puisque c'est ce que les couches sont en train de faire de toute façon. En tout cas, son point de vue, contrôleur air d'être une bonne goutte de solution pour ce que vous voulez.
Ouais. Que fait-il. Merci une tonne!
Les liens que vous avez fournies sont cassés. Le premier maintenant des liens vers un site de voyage et de l'autre est une erreur 404.
Mike l'ensemble du site semble avoir disparu hors ligne, de sorte que le plus proche de la mise en œuvre que j'ai pu trouver était Attiré McCormack conception de quelque chose de similaire où il s'appuie sur Mike le code original.
OriginalL'auteur Brad Larson
L'utilisation de Core Animation comme l'e.James décrites...Remarque, c'est à l'aide de la collecte des ordures et hébergé couche:
Le fichier d'en-tête:
EDIT: Cela va animer pour basculer d'une fenêtre à une autre. Vous pouvez appliquer les mêmes principes à vue.
OriginalL'auteur Arvin
Overkill pour vos fins (car il contient une grande partie complet de la carte et le jeu de cartes de référence de l'application), mais de vérifier cette l'échantillon de l'ADC. Les jeux de cartes fourni avec le faire flip effet tout à fait bien.
Beaucoup plus rugueuse en effet ...
OriginalL'auteur John Rudy
Si vous êtes en mesure de le faire avec des images, peut-être que vous pouvez garder tous vos commandes dans un
NSView
objet (comme d'habitude), et puis le rendu de laNSView
en une image bitmap à l'aide decacheDisplayInRect:toBitmapImageRep:
juste avant l'exécution de l'effet flip. Les étapes seraient:NSView
à une image bitmapNSView
et d'exposer la couche d'imageOriginalL'auteur e.James
Je sais que c'est tard, mais Apple a un exemple de projet ici, qui peuvent être utiles pour ceux qui sont encore en tombant sur cette question.
https://developer.apple.com/library/mac/#samplecode/ImageTransition/Introduction/Intro.html#//apple_ref/doc/uid/DTS40010277
OriginalL'auteur Shantanu
Il y a un open source complète de la mise en œuvre du présent par le gars à Mizage.
Vous pouvez le vérifier ici: https://github.com/mizage/Flip-Animation
OriginalL'auteur Tyler
Probablement pas le cas en 2008 lorsque cette question a été posée, mais c'est assez facile de nos jours:
Note: Apparemment, cela ne fonctionne que sur iOS.
Vraiment, un peu ridicule, car quelqu'un qui cherche à ce faire sur iOS est autant de chances de trouver cette question comme quelqu'un qui cherche à ce faire sur OSX indépendamment de ce que l'OP a l'aide de retour en 2008.
OriginalL'auteur aepryus