根据内容长度修改NSTextField的字体大小

Mik*_*sep 3 macos cocoa objective-c multiline nstextfield

我有一个多行NSTextField,我需要设置它的字体大小,以便当它的内容很短时,它只显示在一行具有大字体大小,
但当它的内容更长时,它分成两行,并缩小其字体大小,以便内容保持在其范围内.

我已经查看了Get NSTextField内容中提供的解决方案,但它不适用于多行字段.

wig*_*ing 5

我使用这种方法来改变多行标签的字体大小.基本上,如果字符串的长度太长,则减小字体大小以使其适合标签区域.希望这可以帮助.

if ([theText length] > 64) {
        [label setFont:[NSFont systemFontOfSize:10]];
    } else {
        [label setFont:[NSFont systemFontOfSize:13]];
    }
Run Code Online (Sandbox Code Playgroud)

theTextNSString 在哪里,label我的多行标签是我希望文本显示给用户的地方.标签的尺寸是固定尺寸.