Dessiner une ligne en utilisant CGContext
Je veux tracer une ligne dans la vue tableau de cellules, de sorte que je puisse passer textfield & interrupteur de la cellule unique. J'ai augmenté la hauteur de la cellule. Comment puis-je tracer la ligne dans la cellule?
J'ai sous-classe de UIView qui contient le code suivant
//Get the CGContext from this view
CGContextRef context = UIGraphicsGetCurrentContext();
//Set the stroke (pen) color
CGContextSetStrokeColorWithColor(context, [UIColor redColor].CGColor);
//Set the width of the pen mark
CGContextSetLineWidth(context, 1.0);
//Draw a line
//Start at this point
CGContextMoveToPoint(context, 10.0, 30.0);
//Give instructions to the CGContext
//(move "pen" around the screen)
CGContextAddLineToPoint(context, 310.0, 30.0);
//Draw it
CGContextStrokePath(context);
Puis j'ai une tableViewController groupé de style de tableau. Dans cellForRowAtIndexPath j'ai code suivant
//code to add textfield
DrawLineView *drawLine = [[DrawLineView alloc]init];
[cell addSubview:drawLine];
//code add switch
Mais il n'est pas de tirer toute la ligne. Je ne peux pas utiliser les 2 cellules différentes. - Je s'il vous Plaît aider moi. C'est ma première à traiter avec des graphismes je iphone. Grâce
source d'informationauteur iOSAppDev
Vous devez vous connecter pour publier un commentaire.
Deux choses...
Tout d'abord, vous n'avez généralement pas à afficher dans la cellule elle-même.
Vous normalement à afficher dans la vue de contenu. Parfois, il est logique de tirage dans la cellule backgroundView ou selectedBackgroundView.
Deuxième, la cellule par défaut des étiquettes de texte de la cellule.textLabel et de la cellule.detailTextLabel non arrière-plan transparent. Essayez de régler leurs couleurs d'arrière-plan à
[UIColor clearColor]
.Edit: encore une chose: vous devez définir une trame approprié pour votre drawLine
Si tout ce que vous voulez faire est de tracer une ligne, il serait beaucoup mieux d'utiliser un CAShapeLayer, passer d'un chemin avec une ligne, puis l'attacher comme sous-couche des cellules d'affichage de contenu. La table doit faire mieux que l'aide d'une vue avec une coutume drawRect.
Exemple de dessin d'une ligne via CALayer et un chemin d'accès:
Je pense que d'une façon très simplifiée de dessin d'une ligne est de créer une UIView et le remplir avec la couleur souhaitée, puis choisissez la largeur en conséquence, et à l'installation à hauteur de 1 pixel de la sorte: