J'utilise les fonctions suivantes pour convertir un champ de texte en étiquette et vice versa
-(void)convertLabelToTextField : (NSTextField *)Inlabel
{
[Inlabel setBezeled:YES];
[Inlabel setDrawsBackground:YES];
[Inlabel setEditable:YES];
[Inlabel setSelectable:YES];
}
-(void)convertTextFieldToLable : (NSTextField *)textField
{
[textField setDrawsBackground:NO];
[textField setEditable:NO];
[textField setSelectable:NO];
[textField setBezeled:NO];
}
Mais mon interface utilisateur n'est pas cohérente.
- Étiquette initiale
- Étiquette au champ de texte
- Champ de texte à étiqueter (après avoir sélectionné le texte)
- Étiquette au champ de texte
Est-ce que quelqu'un peut m'aider s'il vous plait.
Réponses:
3 pour la réponse № 1Le coupable était la hauteur par défaut de l'étiquette.
label Hauteur par défaut
NSTextField Hauteur par défaut
ci-dessous est le code pour l'étiquette avec hauteur 22
NSTextField *textField;
textField = [[NSTextField alloc] initWithFrame:NSMakeRect(10, 10, 100, 22)];
[textField setStringValue:@"My Label"];
[textField setBezeled:NO];
[textField setDrawsBackground:NO];
[textField setEditable:NO];
[textField setSelectable:NO];
0 pour la réponse № 2
Essayez de définir le masque de redimensionnement
[textField setAutoresizingMask: NSViewMinXMargin | NSViewWidthSizable | NSViewMaxXMargin | NSViewMinYMargin | NSViewHeightSizable | NSViewMaxYMargin];