Salut Je souhaite ajouter deux boutons sur un UIView à l'aide d'Interface Builder et tracer une ligne entre ces deux boutons. Comment est-ce possible? Veuillez suggérer. Mercidessiner ainsi que ajouterSubview dans un UIView
1
A
Répondre
3
Une option simple sans utiliser drawrect est de simplement mettre un mince UIView entre les deux boutons. Définissez la couleur d'arrière-plan de la vue sur la couleur de ligne souhaitée.
Edit:
Vous pouvez toujours utiliser UIViews minces et passer leur visibilité au besoin.
Si vous souhaitez toujours dessiner les lignes, vous pouvez créer un UIView personnalisé.
@interface CustomView : UIView {
UIButton *button1;
UIButton *button2;
}
@end
@implementation CustomView
- (id) initWithFrame:(CGRect)frame {
if (self = [super initWithFrame:frame]) {
UIButton *btn1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
btn1.frame = CGRectMake(20, 5, 80, 30);
[btn1 setTitle:@"Button1" forState:UIControlStateNormal];
[btn1 addTarget:self action:@selector(buttonPressed:)
forControlEvents:UIControlEventTouchUpInside];
button1 = btn1;
[self addSubview:btn1];
UIButton *btn2 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
btn2.frame = CGRectMake(20, 60, 80, 30);
[btn2 setTitle:@"Button2" forState:UIControlStateNormal];
[btn2 addTarget:self action:@selector(buttonPressed:)
forControlEvents:UIControlEventTouchUpInside];
button2 = btn2;
[self addSubview:btn2];
}
return self;
}
-(void)drawRect:(CGRect)rect
{
CGContextRef context = UIGraphicsGetCurrentContext();
if (button1.selected)
CGContextSetRGBStrokeColor(context, 1.0, 0.0, 0.0, 1.0);
else
CGContextSetRGBStrokeColor(context, 0.0, 1.0, 0.0, 1.0);
CGContextSetLineWidth(context, 1.0);
CGContextBeginPath(context);
CGContextMoveToPoint(context, 10.0, 45.0);
CGContextAddLineToPoint(context, 150.0, 45.0);
if (button1.selected)
{
CGContextAddLineToPoint(context, 180.0, 35.0);
}
CGContextDrawPath(context, kCGPathStroke);
}
-(void)buttonPressed:(UIButton *)button
{
button1.selected = !button1.selected;
button2.selected = !button2.selected;
[self setNeedsDisplay];
}
@end
Questions connexes
- 1. Pré-dessiner un UIView
- 2. dessiner une image dans un UIView personnalisé
- 3. Dessiner le graphique dans UIView
- 4. Comment ajouterSubview avec une position?
- 5. Comment utiliser CGContext pour dessiner sur un UIView existant?
- 6. Dessiner un UIView arrondi avec gradient et ombre portée
- 7. Essayer de trouver un contexte approprié pour dessiner un UIImage dans un UIView
- 8. Performance: UIView dans un UIView ou remplacez le UIView?
- 9. copie Programatically un contrôle de contenu ainsi que son contenu
- 10. F # tail.Head ainsi que des listes
- 11. Bundler ainsi que des pierres précieuses préinstallées
- 12. Comment utiliser {% avec%} {% ainsi que comprennent%} - Django
- 13. fonctions mathématiques, ainsi que des drapeaux
- 14. UIView dans les UIView
- 15. UIView - dessiner Images - jeu à base de tuiles
- 16. Le moyen le plus efficace pour dessiner partiellement un UIView dans drawRect:
- 17. comment puis-je utiliser mailComposer dans l'iPad ainsi que l'iPhone?
- 18. envoyer ce mot-clé ainsi que page.call dans des rails
- 19. en utilisant un UIView comme sous-vue MKMapView pour dessiner un itinéraire
- 20. Pourquoi je ne peux pas dessiner dans une boucle? (L'utilisation UIView dans l'iPhone)
- 21. Paysage UIView dans un UITabBarController
- 22. Chargement .xibs dans un UIView
- 23. Faire UIView au centre de l'écran
- 24. Obtenez les données des stocks en temps réel pour l'affichage ainsi que pour dessiner des graphiques pour mon application iPhone
- 25. Comment dessiner un UIImage ou directement dans -drawRect :?
- 26. Affichage de UIImagePickerController dans un autre UIView
- 27. Dessiner dans un contexte bitmap
- 28. Dessin incrémentiel dans un UIView (iPhone)
- 29. Dessiner un jpg dans MFC
- 30. Est-ce la meilleure façon de dessiner de grandes images sur un UIView?
C'est une bonne option, mais je veux dessiner la ligne en parties. Fondamentalement, une partie de la ligne est dessinée quand un bouton est dans l'état sélectionné et l'autre dans l'état normal sinon il n'est pas dessiné, et l'autre partie reste telle quelle. Idem pour l'inverse – Nishit
Mise à jour de l'exemple avec quelque chose de plus proche de votre description. – Anna
Merci pour l'exemple, je pense que cela va faire. Si j'ai de la difficulté, je le commenterai, sinon je le marquerai comme la réponse. Encore une fois merci. – Nishit