Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Xcode中字体大小和标签大小之间的关系_Ios_Xcode_Macos_Fonts_Nstextfield - Fatal编程技术网

Ios Xcode中字体大小和标签大小之间的关系

Ios Xcode中字体大小和标签大小之间的关系,ios,xcode,macos,fonts,nstextfield,Ios,Xcode,Macos,Fonts,Nstextfield,在Xcode中将标签拖动到.xib文件中时,我注意到两个“大小”:标签文本的字体大小和NSTextField实例本身的大小 如果我想以不同的字体大小显示文本(例如,从“Lucida Grande 13”到“Lucida Grande 40”),我可以通过什么方式知道NSTextField矩形的大小刚好适合指定字体配置中的文本 此外,iOS和OS X编程的方式是否有所不同?NSTextField是继承自NSControl的控件 如果你检查一下,你会发现 -(无效)大小合适 调整接收器帧的大小,使其

在Xcode中将标签拖动到.xib文件中时,我注意到两个“大小”:标签文本的字体大小和NSTextField实例本身的大小

如果我想以不同的字体大小显示文本(例如,从“Lucida Grande 13”到“Lucida Grande 40”),我可以通过什么方式知道NSTextField矩形的大小刚好适合指定字体配置中的文本


此外,iOS和OS X编程的方式是否有所不同?

NSTextField
是继承自
NSControl
的控件

如果你检查一下,你会发现

-(无效)大小合适

调整接收器帧的大小,使其成为所需的最小大小 包含其单元格


您可能会发现这很有用:

NSString *longName = @"Subrahmanyan Chandrasekhar";
CGSize size = [longName sizeWithFont:label.font];
这将给出矩形的大小,该矩形正好适合给定字体和给定文本。您需要解决的是另一个变量:给定矩形大小和文本,找到适合的最大字体大小。你可以在你的代码中通过一个试错过程来实现,例如二进制搜索

但是,如果在Interface Builder中设置帧大小,这并没有真正帮助您。最好的建议是,取消选中“调整以适应”,在框中键入您希望看到的最长文本,并增加字体大小,直到看起来破损为止


是的,OSX是不同的。显然,
sizeWithFont:
在OSX上不存在。

噢,
NSControl
!我一直在查看NSTextField,因此没有找到这个。顺便问一下,有没有什么方法可以在不调整标签大小的情况下获得最小尺寸?我找到了另一个答案:。我试过了,确实不准确。但似乎很有用。你和Anoop的答案都很有用!