L'animation de l'affichage de l'image de glisser en haut
J'essaie de faire une image de la vue (logo
ci-dessous), faites glisser vers le haut par 100 pixels. Je suis en utilisant ce code, mais il ne se passe rien du tout:
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:3];
logo.center = CGPointMake(logo.center.x, logo.center.y - 100);
[UIView commitAnimations];
Ce code est dans le viewDidLoad
méthode. Plus précisément, le logo.center = ...
ne fonctionne pas. D'autres choses (comme le changement de l'alpha). Peut-être que je ne suis pas en utilisant le bon code pour le faire glisser vers le haut?
Dans la méthode viewDidLoad. Désolé à ce sujet!
Êtes-vous à l'aide de mise en page automatique?
D'accord avec Rob, juste le code fourni dans votre exemple, cela semble être un problème de Mise en page Automatique de votre animation. Si vous utilisez la Mise en page Automatique, vous aurez à animer les contraintes au lieu de la définition explicite de l'image.
Je pense que je suis, même si je ne suis pas exactement sûr de la façon de le dire. Si oui, comment pourrais-je aller sur l'animation de ces contraintes?
Êtes-vous à l'aide de mise en page automatique?
D'accord avec Rob, juste le code fourni dans votre exemple, cela semble être un problème de Mise en page Automatique de votre animation. Si vous utilisez la Mise en page Automatique, vous aurez à animer les contraintes au lieu de la définition explicite de l'image.
Je pense que je suis, même si je ne suis pas exactement sûr de la façon de le dire. Si oui, comment pourrais-je aller sur l'animation de ces contraintes?
OriginalL'auteur Wes Cossick | 2013-01-07
Vous devez vous connecter pour publier un commentaire.
Pour les non-mise en page automatique des story-boards/Plumes, votre code est bien. Par ailleurs, il est généralement conseillé que vous animer à l'aide de les blocs:
Ou, si vous voulez un peu plus de contrôle sur les options et le souhaitez, vous pouvez utiliser:
Mais votre code devrait fonctionner si vous n'utilisez pas de mise en page automatique. C'est juste que la syntaxe ci-dessus est préféré pour iOS 4 et plus tard.
Si vous utilisez la mise en forme automatique, vous (a) créer un
IBOutlet
pour votre espace vertical contrainte (voir ci-dessous), puis (b), vous pouvez faire quelque chose comme:Pour ajouter un
IBOutlet
pour une contrainte, contrôle-faites glisser à partir de la contrainte à la votre .h dans le rédacteur en chef adjoint:Par ailleurs, si vous animez une contrainte, être sensible à toutes les autres contraintes que vous pourriez avoir des liens pour que imageview. Souvent, si vous mettez quelque chose de juste en dessous de l'image, il aura sa contrainte liée à l'image, de sorte que vous pouvez vous assurer que vous n'avez pas d'autres contrôles de avec les contraintes de votre image (sauf si vous voulez les déplacer, trop).
Vous pouvez dire si vous utilisez la mise en page automatique par ouverture de votre table de montage ou de PLUME, puis en sélectionnant le fichier "inspecteur" (le premier onglet le plus à droite du panneau, ou vous pouvez le retirer vers le haut en appuyant sur option+commande+1 (le nombre "1")):
Rappelez-vous, si vous prévoyez sur l'appui de pré-iOS 6, assurez-vous de désactiver l'option "mise en forme automatique". Mise en page automatique est un iOS 6 fonction et ne fonctionne pas sur les versions antérieures d'iOS.
Tout à fait raison. Je pensais qu'il était le déplacer hors de l'écran, mais clairement, il faut juste changer la constante d'être ce qu'il était censé être. J'ai modifié un peu le code en fonction.
Savez-vous pourquoi, si vous faites cela avec un bouton, le titre de l'anime à partir de l'extérieur du bouton à sa place? J'ai remarqué cela avant dans certaines de mes expériences d'animation, et ça n'a pas de sens pour moi -- je suppose qu'aucune contrainte pour le titre serait interne au bouton lui-même, et ne devrait pas être en train de changer.
Pour ajouter à l'étrangeté, si j'ai un autre bouton dans la vue, que je ne suis pas d'animer, de son titre anime également. On dirait le titre du bouton peut être à partir d'un emplacement de 0,0 dans le bouton image de la perte de son origine. Cela n'arrive pas si j'ai mis ton code dans viewDidAppear.
D'accord. Oui, c'est étrange. Je suis d'accord que le déplacement de ce code pour
viewDidLoad
fonctionne plus comme on aurait pu s'attendre, donc j'ai adapté mon code. Les contraintes des opérations à base de défier l'intuition de temps en temps...OriginalL'auteur Rob
ont u essayer
OriginalL'auteur Patrick.Ji