我有一定大小的CATextlayer
和未知长度的NSAttributedString
文本。
我需要调整字体大小,以使文本适合框架(反之亦然:)
任何想法从哪里开始? :)
正如nall指出的,[编辑]我可以确定字符串的长度,当然,这是用户输入的一些文本,我需要将其放入固定大小的盒子中。
最佳答案
我做到了这一点:
float fontSize = InitialFontSize;
UIFont *myFont = [UIFont boldSystemFontOfSize:fontSize];
CGSize myFontSize = [YourTextHere sizeWithFont:myFont];
while (myFontSize.width >= MaximunWidth) {
fontSize -= 0.1f;
myFont = [UIFont boldSystemFontOfSize:fontSize];
myFontSize = [YourTextHere sizeWithFont:myFont];
}
CATextLayer *textLayer = [CATextLayer layer];
[textLayer setFrame:CGRectMake(MaximunWidth - myFontSize.width / 2, MaximunHeight - myFontSize.height / 2, myFontSize.width, myFontSize.height)];
[textLayer setFontSize:fontSize];
[textLayer setString:YourTextHere];
[textLayer setAlignmentMode:kCAAlignmentCenter];
关于ios - CATextlayer更改FONT的大小以适合框架,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11059061/