0

我正在使用以下函数将文本字段转换为标签,反之亦然

-(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];

}  

但我的用户界面不一致。

  • 初始标签

在此处输入图像描述

  • 标签到文本字段

在此处输入图像描述

  • 到标签的文本字段(选择文本后)

在此处输入图像描述

  • 标签到文本字段

在此处输入图像描述

在此处输入图像描述

谁能帮帮我。

4

2 回答 2

3

罪魁祸首是标签的默认高度。

标签默认高度

在此处输入图像描述

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];
于 2013-07-05T10:48:49.953 回答
0

尝试设置调整大小蒙版

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

看到这个答案

于 2013-07-02T10:25:18.967 回答