Je suis un débutant à la programmation iPhone, et voudrais dessiner une ligne à l'écran du téléphone dans le but d'étudier en utilisant Quartz et UIKit.Comment tracer une ligne sur l'iPhone?
Comment dessiner?
Je suis un débutant à la programmation iPhone, et voudrais dessiner une ligne à l'écran du téléphone dans le but d'étudier en utilisant Quartz et UIKit.Comment tracer une ligne sur l'iPhone?
Comment dessiner?
La première étape consiste à définir une sous-classe de UIView, pour créer un espace pour dessiner.
Si vous commencez avec une nouvelle application, la meilleure façon sera de commencer par la « base-fenêtre application "modèle.
Puis allez dans Nouveau fichier et créez une "Classe Objective-C" avec "Sous-classe de" définie sur "UIView", et donnez-lui un nom, par exemple MyView.m.
Maintenant, ouvrez le groupe "Ressources" et double-cliquez sur "MainWindow.xib" pour l'ouvrir dans Interface Builder. De là, vous devriez voir une fenêtre nommée "Fenêtre". Appuyez sur Cmd + Maj + L pour faire apparaître la bibliothèque et faites glisser un composant "Vue" sur votre fenêtre, et placez-le de manière à pouvoir tout voir. Avec votre nouvelle vue sélectionnée, appuyez sur Cmd + 4 pour afficher l'inspecteur d'identité et sous "Identité de classe", cliquez sur la liste déroulante et choisissez MyView.
Ensuite, vous devez mettre en œuvre la méthode drawRect: dans MyView.m, voici quelques exemples de code qui dessine une ligne:
- (void)drawRect:(CGRect)rect {
CGContextRef c = UIGraphicsGetCurrentContext();
CGFloat red[4] = {1.0f, 0.0f, 0.0f, 1.0f};
CGContextSetStrokeColor(c, red);
CGContextBeginPath(c);
CGContextMoveToPoint(c, 5.0f, 5.0f);
CGContextAddLineToPoint(c, 50.0f, 50.0f);
CGContextStrokePath(c);
}
Enregistrer tout et cliquez sur « Build and Run », vous devriez voir une courte ligne rouge sur l'iPhone.
Pour plus d'informations sur Core Graphics, consultez la documentation Apple. J'ai également trouvé utile de rechercher des fonctions commençant par CGContext dans la visionneuse de documentation Xcode, et de parcourir celles-ci - la plupart des fonctions Core Graphics que vous finirez par utiliser commenceront par le terme "CGContext".
Vous pouvez également tracer une ligne à l'aide de UIBezierPath
. Ce qui suit tracez une ligne horizontale à la verticale centrée sur:
- (void)drawRect:(CGRect)rect {
CGFloat rectHeight = CGRectGetHeight(rect);
CGFloat rectWidth = CGRectGetWidth(rect);
UIBezierPath *line = [UIBezierPath bezierPath];
[line moveToPoint:CGPointMake(0, rectHeight/2)];
[line addLineToPoint:CGPointMake(rectWidth, rectHeight/2)];
[[UIColor lightGrayColor] setStroke];
[line stroke];
}
Merci Tobias .... Il me aide .... –
+1 pour répondre avec le code au lieu de RTFM. – willc2
+1 ça m'a aidé :) –