Accueil Médias sociaux Rotation d'objets dans votre application iOS

Rotation d'objets dans votre application iOS

Vidéo: Tous les gestes / astuces de l'iPhone 11/11 pro/11 pro Max/ X/X?/X? Max/X? en 5 minutes ! 2025

Vidéo: Tous les gestes / astuces de l'iPhone 11/11 pro/11 pro Max/ X/X?/X? Max/X? en 5 minutes ! 2025
Anonim

Ici, vous découvrez comment faire pivoter une vue (dans ce cas, faites tourner la voiture) dans votre application iOS. Pour ce faire, vous mettez à jour le code de rotation avec lequel vous avez démarré et le remplacez par le code en gras.

- (void) rotate { CGAffineTransform transformation = CGAffineTransformMakeRotation (M_PI); void (^ animation) () = ^ () { moi-même. voiture . transformer = transformer; }; void (^ completion) (BOOL) = ^ (BOOL terminé) { [self returnCar]; }; [UIView animateWithDuration: 3 animations: achèvement de l'animation: achèvement]; }

Cette méthode utilise les déclarations de blocs.

La structure de données CGAffineTransform représente une matrice utilisée pour transformations affines - un modèle de correspondance entre les points d'un système de coordonnées et les points d'un autre système de coordonnées. Bien que CGAffineTransform ait un certain nombre d'utilisations (telles que la mise à l'échelle et la traduction d'un système de coordonnées), la seule méthode couverte ici est la méthode de rotation utilisée dans le Listing 10-3:

CGAffineTransformMakeRotation (M_PI)

vous spécifiez l'angle (en radians) pour faire pivoter les axes du système de coordonnées. Alors que les degrés sont des nombres entre 0 et 360, les radians, bien que similaires, vont de 0 à 2π. Donc, quand vous créez une rotation qui tourne un objet autour d'un demi-cercle, cette rotation en radians est pi. (M_PI est une constante système qui représente pi.)

Juste pour rendre votre vie intéressante, vous devriez noter que dans iOS, positif est antihoraire, mais sur Mac OS X, positif est dans le sens des aiguilles d'une montre.

Le résultat final du Listing 10-3 est que la voiture va tourner de 180 degrés en trois secondes, et quand c'est fait, vous envoyez le message returnCar dans le gestionnaire de complétion.

Pour remettre la voiture dans sa position d'origine, ajoutez le code en gras au talon de la méthode returnCar dans TestDriveController. m.

- (void) returnCar { Centre CGPoint = CGPointMake (auto-centrage x, auto-portrait, taille, hauteur - auto-frame. hauteur de taille ); void (^ animation) () = ^ () { auto. voiture . centre = centre; }; void (^ completion) (BOOL) = ^ (BOOL terminé) { [self continueRotation]; }; [UIView animateWithDuration: 3 animations: animation achèvement: achèvement]; }

Cette approche est à peu près la même que celle de la méthode testDrive sauf que le nouveau centre est arbitrairement placé à 600 points en dessous de l'endroit où la voiture tourne. Vous remettez le centre en calculant le bas de la vue

self. vue. Cadre. Taille. hauteur - soi.voiture. Cadre. Taille. la taille);

Vous pouvez expérimenter avec ces formules pour voir comment déplacer la voiture autour de la vue.

Mais vous n'avez pas encore fini. Vous devez ramener la voiture à sa position d'origine (à moins que vous ne vouliez conduire en sens inverse de la Californie à New York). Ajoutez le code en gras au talon de la méthode continueRotation dans TestDriveController. m.

- (void) continueRotation { CGAffineTransform transform = CGAffineTransformMakeRotation (0); void (^ animation) () = ^ () { moi-même. voiture . transformer = transformer; }; [UIView animateWithDuration: 3 animations: animation completion: NULL]; }

Vous devez comprendre que la transformation (dans ce cas, une rotation de vue) est toujours là; c'est-à-dire que vous avez créé une transformation pour faire pivoter la voiture de 180 degrés. Si vous voulez ramener la voiture à la position d'origine, vous devez renvoyer la transformation à 0.

Rotation d'objets dans votre application iOS

Le choix des éditeurs

Comment détecter les atteintes à la sécurité sur vos fichiers journaux Web hébergés - dummies

Comment détecter les atteintes à la sécurité sur vos fichiers journaux Web hébergés - dummies

Grande question est toujours sur la sécurité. Comment pouvez-vous repérer les failles de sécurité hébergées sur le Web pour protéger votre site et garantir qu'il ne sera pas piraté? La réponse courte est la suivante: Vous ne pouvez pas. Tout est piratable avec suffisamment de temps, des cerveaux sournois et des ressources. Cependant, il y a des choses que vous pouvez faire pour vous protéger un peu. ...

Comment utiliser MySQL Workbench pour votre site Web - dummies

Comment utiliser MySQL Workbench pour votre site Web - dummies

Bien que phpMyAdmin et d'autres outils d'hébergement Web Pour gérer les bases de données, il est possible que vous ayez besoin de quelque chose de plus puissant. MySQL Workbench est une bonne source dans cette instance. MySQL Workbench est un outil de conception et d'administration de base de données gratuit créé par Oracle qui réunit deux produits: MySQL Query Browser et MySQL ...

Le choix des éditeurs

Comment mettre du texte sur un cercle dans QuarkXPress - texte fictif

Comment mettre du texte sur un cercle dans QuarkXPress - texte fictif

Sur un cercle - c'est-à-dire texte suivant l'extérieur d'un cercle ou ovale - est un élément de conception commun dans les mises en page. C'est vraiment facile à faire dans QuarkXPress, mais ce n'est pas du tout évident comment. Procédez comme suit: Obtenez l'outil Ovale de la palette Outils et dessinez ...

ÉChanges peer-to-peer par rapport aux échanges Bitcoin réguliers - mannequins

ÉChanges peer-to-peer par rapport aux échanges Bitcoin réguliers - mannequins

Deux types d'échanges de bitcoins sont utilisés : peer-to-peer et régulier. D'une part, il y a les échanges de bitcoins réguliers, qui utilisent un carnet de commandes pour faire correspondre les ordres d'achat et de vente entre les personnes. Cependant, ni l'acheteur ni le vendeur n'ont la moindre idée de l'identité de l'autre partie, ce qui permet à tous les utilisateurs ...

L'interface d'application QuarkXPress - les nuls

L'interface d'application QuarkXPress - les nuls

Les palettes visibles à gauche, à droite et en bas de QuarkXPress sont flottantes - vous pouvez les faire glisser n'importe où qui vous convient. Contrairement aux palettes, les menus de la barre de menu sont collés: vous devez toujours passer la souris à la barre de menu pour y accéder. Cependant, ...

Le choix des éditeurs

Sept erreurs d'optimisation de moteur de recherche - nuls

Sept erreurs d'optimisation de moteur de recherche - nuls

Lorsque vous essayez d'obtenir votre site Web, c'est facile de faire des erreurs d'optimisation de moteur de recherche. Voici quelques-unes des erreurs de référencement les plus courantes. Vous ne connaissez pas vos mots-clés C'est également un problème majeur: la grande majorité des sites sont créés sans que les propriétaires ou les développeurs du site ne sachent vraiment ce que sont les mots-clés ...

Soumission de pages aux moteurs de recherche pour l'optimisation - dummies

Soumission de pages aux moteurs de recherche pour l'optimisation - dummies

Vous avez probablement vu "soumission "Services annoncés pour le référencement, peut-être sous la forme de spam dans votre boîte de réception, offrant de soumettre votre site Web à des centaines de moteurs de recherche, encore et encore. Dans la plupart des cas, ces services de soumission sont une perte totale de temps et d'argent. Voici comment obtenir votre site Web dans les moteurs de recherche. You ...

Six mythes À propos de Search Engine Optimization - mannequins

Six mythes À propos de Search Engine Optimization - mannequins

Il existe une grande confusion dans le monde des moteurs de recherche. beaucoup de mythes. Voici quelques-uns des mythes communément crus qui peuvent nuire à vos positions de moteur de recherche. Tout est une question de métabalises et de soumissions. C'est le mythe le plus répandu et le plus préjudiciable de tous, tenu par de nombreux concepteurs et développeurs Web. ...