Конвертировать NSTextField в метку
Я использую следующие функции для преобразования текстового поля в метку и наоборот
-(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];
}
Но мой интерфейс не соответствует.
- Начальная метка
- Метка в текстовое поле
- Текстовое поле для метки (после выбора текста)
- Метка в текстовое поле
Может кто-нибудь, пожалуйста, помогите мне.
2 ответа
Решение
Culprit был высотой метки по умолчанию.
метка высота по умолчанию
NSTextField Высота по умолчанию
ниже код для метки с высотой 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];
Попробуйте установить маску изменения размера
[textField setAutoresizingMask: NSViewMinXMargin | NSViewWidthSizable | NSViewMaxXMargin | NSViewMinYMargin | NSViewHeightSizable | NSViewMaxYMargin];