在Xcode中将Label拖动到.xib文件时,我注意到两个“大小”:标签文本的字体大小和NSTextField实例本身的大小。
如果我想以不同的字体大小显示文本(例如,从“Lucida Grande 13”到“Lucida Grande 40”),我以何种方式知道NSTextField矩形的大小只能适合文本指定的字体配置?
此外,iOS和OS X编程的方式有何不同?
答案 0 :(得分:1)
答案 1 :(得分:1)
您可能会觉得这很有用:
NSString *longName = @"Subrahmanyan Chandrasekhar";
CGSize size = [longName sizeWithFont:label.font];
它给出了适合给定文本的给定文本的矩形大小。你想要的是解决一个不同的变量:给定矩形大小和文本,找到适合的最大字体大小。您可以通过代码中的试错过程来完成此操作,例如:二元搜索。
但是,如果您在Interface Builder中设置帧大小,那对您没有帮助。最好的建议是,取消选中“调整以适应”,键入您希望在框中看到的最长文本,并增加字体大小,直到它看起来破碎。
是的,它与OSX不同。显然,OSX上不存在sizeWithFont:
。