Accueil Médias sociaux Comment contrôler la vue dans votre application iPad - Nuls

Comment contrôler la vue dans votre application iPad - Nuls

Vidéo: Utiliser et personnaliser le centre de contrôle sur votre iPhone ou iPad - Assistance Apple 2025

Vidéo: Utiliser et personnaliser le centre de contrôle sur votre iPhone ou iPad - Assistance Apple 2025
Anonim

Lors de la création de votre application iPad, vous devez inclure du code qui contrôle la vue L'application iPad suivante est conçue pour afficher les mots défilant sur l'écran.Après avoir ouvert le fichier DeepThoughtsViewController.m pour qu'il apparaisse dans l'éditeur de texte, vous devez insérer le code en gras (le code qui n'est pas en gras est fourni par le modèle d'application View-Based):

#import "DeepThoughtsViewController.h" #import " Constantes h " @implementation DeepThoughtsViewController @ synthétiser la vitesse, imageView; #pragma mark - #pragma mark Afficher le cycle de vie / * // L'initialiseur désigné Remplacer pour effectuer la configuration requise avant le chargement de la vue - (id) initWithNibName: (NSString *) bundle nibNameOrNil: (NSBundle *) nibBundleOrNil {if (self = [super initWithNibName: nibNameOrNil bundle: nibBundleOrNil]) {// initia personnalisée lization} return self;} * / / * // Implémente loadView pour créer une hiérarchie de vue par programme, sans utiliser de pointe. - (void) loadView {} * / / * // Implémente viewDidLoad pour effectuer une configuration supplémentaire après le chargement de la vue, généralement à partir d'une plume. - (void) viewDidLoad {[super viewDidLoad];} * / - (void) viewDidLoad { [super viewDidLoad]; [NSTimer scheduledTimerWithTimeInterval:. 5 target: auto-sélecteur: @selector (onTimer) userInfo: nil se répète: YES]; if (! [[NSUserDefaults standardUserDefaults] objectForKey: kWordsOfWisdom]) { [[NSUserDefaults standardUserDefaults] setObject: @ " Peace Musique Groovy " forKey: kWordsOfWisdom]; fallingWords = @ " Musique d'amour de la paix " ; } else { fallingWords = [[NSUserDefaults standardUserDefaults] stringForKey: kWordsOfWisdom]; } if (! [[NSUserDefaults standardUserDefaults] objectForKey: kSpeed]) { [[NSUserDefaults standardUserDefaults] setDouble: 10. 0 forKey: kSpeed]; vitesse = kMaxSpeed-10. 0;} else { vitesse = kMaxSpeed ​​- [[NSUserDefaults standardUserDefaults] doubleForKey: kSpeed]; } } Marque #pragma - Marque #pragma Animation - (void) onTimer { UILabel * fallingImageView = [[UILabel alloc] initWithFrame: CGRectMake (0, 0 100, 30)]; fallingImageView. text = fallWords; fallingImageView. textColor = [UIColor purpleColor]; fallingImageView. font = [UIFont systemFontOfSize: 30]; fallingImageView. backgroundColor = [UIColor clearColor]; fallingImageView. ajustsFontSizeToFitWidth = YES; int startX = rond (aléatoire ()% 400); int endX = rond (random ()% 400); // vitesse de chute double randomSpeed ​​= (1 / round (random ()% 100) +1) * vitesse; // taille de l'image; échelle doubleH = (1 / ronde (aléatoire ()% 100) +1) * 60; double échelleW = (1 / ronde (aléatoire ()% 100) +1) * 200; [moi-même.voir addSubview: fallingImageView]; fallingImageView. frame = CGRectMake (débutX, -100, échelleW, échelleH); fallingImageView. alpha =. 75; [UIView beginAnimations: nil contexte: fallingImageView]; [UIView setAnimationDuration: randomSpeed]; [UIView setAnimationDelegate: self]; [UIView setAnimationDidStopSelector: @selector (animationDone: terminé: contexte:)]; fallingImageView. frame = CGRectMake (endX, self.view, taille, hauteur, échelleW, échelleH); [UIView commitAnimations]; } - (void) animationDone: (NSString *) animationID terminé: (NSNumber *) contexte terminé: (id) context { UIImageView * fallingImageView = contexte; [fallingImageView removeFromSuperview]; [version de fallingImageView]; } Marque #pragma - Marque #pragma Contrôles - Réglages (IBAction) { } Marque #pragma - #pragma mark Orientation // Remplacer pour autoriser les orientations autres que l'orientation portrait par défaut. - (BOOL) shouldAutorotateToInterfaceOrientation: (UIInterfaceOrientation) interfaceOrientation {return YES;} #pragma mark - #pragma mark Gestion de la mémoire - (void) didReceiveMemoryWarning {// Libère la vue si elle n'a pas un aperçu. [super didReceiveMemoryWarning]; // Libère toutes les données en cache, les images, etc. qui ne sont pas utilisées.} - (void) viewDidUnload {// Libère toutes les sous-vues conservées de la vue principale. // e. g. soi. myOutlet = nil;} - (void) dealloc {[super dealloc];} @end

Voici une répartition du code que vous ajoutez:

  • La première déclaration que vous ajoutez importe les constantes. h fichier. Vous pouvez maintenant utiliser les clés que vous avez configurées avec NSUserDefaults dans le code suivant pour récupérer les paramètres utilisateur.

  • Objective-C crée les méthodes d'accès dont vous avez besoin à chaque fois que vous incluez une instruction @synthesize; l'instruction du code précédent crée une méthode accesseur pour chaque déclaration @property (speed et imageView).

  • Les deux instructions # pragma mark contiennent l'initialisation et le code load-view.

  • Le message viewDidLoad est envoyé juste après le chargement de la vue depuis le fichier nib (le fichier.xib que vous pouvez modifier dans Interface Builder). C'est l'endroit où vous insérez votre code pour l'initialisation de la vue, ce qui dans ce cas signifie afficher les mots qui tombent de DeepThoughts. La méthode viewDidLoad que vous avez insérée commence par la mise en place d'un temporisateur pour l'intervalle entre chaque affichage des mots qui tombent.

    Vous utilisez la classe NSTimer pour créer des timers. Une minuterie attend jusqu'à ce qu'un certain intervalle de temps se soit écoulé et se déclenche, envoyant un message spécifié à un objet cible. Ce code utilise la méthode scheduledTimerWithTimeInterval: target: selector: userInfo: repeat: class pour créer le temporisateur et le programmer sur la boucle d'exécution en cours dans le mode par défaut. L'intervalle est de 0, 5 secondes, la cible est self, et le sélecteur est le message à envoyer à la cible lorsque le temporisateur se déclenche - dans ce cas, onTimer. Le userInfo est l'information d'utilisateur pour le temporisateur (mis à zéro), et le temporisateur est réglé pour répéter - c.-à-d., Il se réordonnera à plusieurs reprises jusqu'à ce qu'il soit invalidé.

  • Ensuite, le code vérifie si le paramètre kWordsOfWisdom a été déplacé dans NSUserDefaults.

  • Le code déplace les préférences de l'utilisateur dans NSUserDefaults uniquement après la première exécution de l'application. Si les paramètres n'ont pas encore été déplacés dans NSUserDefaults, le code utilise la valeur de préférence initiale ("Peace Love Groovy Music") pour fallWords. Si les paramètres ont été déplacés dans NSUserDefaults, le code les lit et définit ensuite fallWords selon la préférence de l'utilisateur. Le code répète ensuite cette vérification avec le réglage de la vitesse.

    Vous utilisez standardUserDefaults (une méthode de classe NSUserDefaults) pour accéder aux paramètres par défaut standard de l'utilisateur et vous pouvez y stocker des données.

  • La section #pragma mark intitulée Controls inclut la méthode des paramètres d'espace réservé pour connecter le bouton Light Info au contrôleur de vue. C'est la méthode d'action utilisant le qualificatif IBAction.

  • Connecter la minuterie au dessin actuel de l'écran est la méthode onTimer. La classe UILabel implémente une vue de texte en lecture seule. Vous pouvez utiliser cette classe pour dessiner une ou plusieurs lignes de texte statique. Dans ce cas, le bloc de code utilise la méthode initWithFrame avec CGRectMake pour créer un rectangle, avec la coordonnée x et la coordonnée y du point d'origine du rectangle à (0, 0) et une largeur et hauteur spécifiées (100, 30).

  • Le code convertit la chaîne fallingWords en fallingImageView pour l'affichage; définit la couleur du texte, la police et la couleur d'arrière-plan; et ajuste la taille de la police pour la largeur. Les propriétés font et textColor s'appliquent à la chaîne de texte entière.

  • Le bloc de code suivant utilise la fonction aléatoire pour les points de départ et de fin (startX et endX), pour la vitesse, et pour la largeur (scaleW) et la hauteur (scaleH) pour fallingImageView.

  • La méthode beginAnimations: context: démarre le bloc d'animation et la méthode commitAnimations termine le bloc. À l'intérieur du bloc, le code définit les valeurs de propriété pour effectuer les modifications visuelles qui composent l'animation.

  • La méthode setAnimationDuration définit la durée de l'animation et setAnimationDidStopSelector définit le message à envoyer au délégué d'animation lorsque l'animation s'arrête. Le délégué d'animation est animationDone, qui utilise removeFromSuperview (une méthode d'instance de la classe UIView) pour supprimer fallingImageView, puis utilise release (une méthode d'instance de la classe NSAutoreleasePool) pour libérer fallingImageView.

  • Enfin, ce code a deux # déclarations pragma mark pour marquer la section comme Orientation et deux autres # marques pragma mark au-dessus de la méthode didReceiveMemoryWarning pour marquer cette section comme la gestion de la mémoire.

Comment contrôler la vue dans votre application iPad - Nuls

Le choix des éditeurs

Comment travailler avec Photoshop CS6 Images brutes - mannequins

Comment travailler avec Photoshop CS6 Images brutes - mannequins

Certaines caméras capturent des images dans des formats bruts. Photoshop CS6 peut traiter ces images dans des images formatées. Il vous permet également de travailler avec eux de différentes manières que les images déjà traitées. Voici quelques détails sur le traitement des images brutes par Photoshop. Préférences Camera Raw: Voici les détails de ces préférences: Quand une Camera Raw ...

Comment utiliser Photoshop CC Fusionner vers HDR Pro - mannequins

Comment utiliser Photoshop CC Fusionner vers HDR Pro - mannequins

Lorsque vous avez les expositions de que vous voulez créer votre chef-d'œuvre HDR, vous devez les assembler en utilisant la fonction Fusionner vers HDR Pro dans Photoshop CC. Vous pouvez ouvrir Merge to HDR Pro soit dans le menu Fichier → Automatiser de Photoshop, soit vous pouvez sélectionner les images à utiliser dans Bridge et utiliser Bridge ...

Comment utiliser les masques rapides dans Photoshop CS6 - les mannequins

Comment utiliser les masques rapides dans Photoshop CS6 - les mannequins

Comme vous pouvez probablement le deviner d'après le nom , Les masques rapides de Photoshop CS6 vous permettent de créer et de modifier des sélections rapidement. Bien que vous ne créiez pas vraiment un masque de produit final en soi, la façon dont vous allez obtenir votre sélection est "semblable à un masque. "Ils sont également conviviaux, car ils vous permettent de voir votre image pendant que vous travaillez. ...

Le choix des éditeurs

Bitmap et images vectorielles dans Adobe Photoshop CS5 - mannequins

Bitmap et images vectorielles dans Adobe Photoshop CS5 - mannequins

Capacité de photoshop Creative Suite 5 à utiliser à la fois l'image bitmap et Les images vectorielles vous offrent, en tant que concepteur, des opportunités incroyables en combinant les deux technologies. Vous avez peut-être déjà découvert que Photoshop fonctionne un peu différemment de la plupart des autres applications. Pour créer ces gradations douces d'une couleur à l'autre, Photoshop tire parti des pixels. ...

Capturer des images à fusionner vers HDR Pro - mannequins

Capturer des images à fusionner vers HDR Pro - mannequins

Pour fusionner plusieurs expositions en une image HDR en utilisant Photoshop CC, vous devez avoir plusieurs expositions avec lesquelles travailler. Il y a deux façons de relever le défi: Vous pouvez prendre une série d'expositions, ou photographier une image brute et faire plusieurs copies avec différentes valeurs d'exposition. Si vous voulez absolument le meilleur ...

Modifiez le pinceau dans le panneau Outils Photoshop CS5 - les nuls

Modifiez le pinceau dans le panneau Outils Photoshop CS5 - les nuls

Regroupés dans le panneau Outils de Photoshop Creative Suite 5 sont les outils utilisés pour peindre et retoucher des images. Lorsque vous cliquez pour sélectionner différents outils de peinture, notez le menu Pinceau (deuxième à partir de la gauche) dans la barre des options. Cliquez sur la flèche pour ouvrir le sélecteur Pinceaux prédéfinis. Utilisez le curseur Diamètre principal pour ...

Le choix des éditeurs

Comment utiliser plusieurs styles avec CSS3 - mannequins

Comment utiliser plusieurs styles avec CSS3 - mannequins

Comprendre les règles d'héritage dans CSS3 vous aide à créer des sites intéressants nécessitant un minimum de maintenance. En suivant ces règles, lorsque la maintenance est requise, vous devez normalement effectuer un seul changement, plutôt que de modifier individuellement des centaines d'éléments. Cela vaut la peine d'expérimenter, pour que vous puissiez comprendre tous les effets de l'héritage ...

Comment utiliser l'éditeur HTML CoffeeCup - les nuls

Comment utiliser l'éditeur HTML CoffeeCup - les nuls

Comme outil principal des pages Web WYSIWYG, CoffeeCup HTML Editor possède toutes les fonctionnalités de base importantes dont vous avez besoin pour créer des pages Web de base. En utilisant ces fonctionnalités, vous pouvez créer et éditer des pages Web sans voir les balises HTML, glisser et déposer des liens vers d'autres sites Web sans taper l'URL ou le chemin, couper et coller ...

Comment utiliser l'espace blanc dans votre conception de site Web - les nuls

Comment utiliser l'espace blanc dans votre conception de site Web - les nuls

Pages Web qui ont des tonnes des choses emballées dans tous les coins et recoins rendent la page difficile à lire et ne donnent pas l'occasion à l'œil de se reposer. Lors de la création d'une mise en page Web, prévoyez toujours un espace libre autour de vos éléments de conception. Les espaces ouverts créent non seulement une atmosphère plus invitante ...