Ios Xcode中字体大小和标签大小之间的关系
在Xcode中将标签拖动到.xib文件中时,我注意到两个“大小”:标签文本的字体大小和NSTextField实例本身的大小 如果我想以不同的字体大小显示文本(例如,从“Lucida Grande 13”到“Lucida Grande 40”),我可以通过什么方式知道NSTextField矩形的大小刚好适合指定字体配置中的文本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的控件 如果你检查一下,你会发现 -(无效)大小合适 调整接收器帧的大小,使其
此外,iOS和OS X编程的方式是否有所不同?
NSTextField
是继承自NSControl
的控件
如果你检查一下,你会发现
-(无效)大小合适
调整接收器帧的大小,使其成为所需的最小大小
包含其单元格
您可能会发现这很有用:
NSString *longName = @"Subrahmanyan Chandrasekhar";
CGSize size = [longName sizeWithFont:label.font];
这将给出矩形的大小,该矩形正好适合给定字体和给定文本。您需要解决的是另一个变量:给定矩形大小和文本,找到适合的最大字体大小。你可以在你的代码中通过一个试错过程来实现,例如二进制搜索
但是,如果在Interface Builder中设置帧大小,这并没有真正帮助您。最好的建议是,取消选中“调整以适应”,在框中键入您希望看到的最长文本,并增加字体大小,直到看起来破损为止
是的,OSX是不同的。显然,
sizeWithFont:
在OSX上不存在。噢,NSControl
!我一直在查看NSTextField,因此没有找到这个。顺便问一下,有没有什么方法可以在不调整标签大小的情况下获得最小尺寸?我找到了另一个答案:。我试过了,确实不准确。但似乎很有用。你和Anoop的答案都很有用!