2013-07-02 2 views
0

Я использую следующие функции для преобразования текстового поля для обозначения и наоборотконвертировать 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]; 

} 

Но мой интерфейс не соответствует.

  • Исходное Этикетка

enter image description here

  • Этикетка с TextField

enter image description here

  • Textf IELD к ярлыку (после выбора текста)

enter image description here

  • этикетки для TextField

enter image description here

enter image description here

Может кто-нибудь, пожалуйста, помогите мне.

ответ

3

Преступник был по умолчанию высота этикетки.

высота этикетки По умолчанию

enter image description here

NSTextField Высота По умолчанию

hight of textfield

ниже код этикетки с высотой 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

установки Изменение размера Try маски

[textField setAutoresizingMask: NSViewMinXMargin | NSViewWidthSizable | NSViewMaxXMargin | NSViewMinYMargin | NSViewHeightSizable | NSViewMaxYMargin]; 

See this answer

+0

еще такой же вопрос :( –