基本上我想要这个How do I size a UITextView to its content?但是倒退。也就是说,使UITextView中的文本调整到其框架,即使字体大小足以填充其边界框。
应该不那么难! UILabel的方法是“adjustsFontSizeToFitWidth”,我正在为UITextView寻找类似的东西。
从更大的角度来看,我要做的是:
绘制我创建的自定义字体的一个字形(不是字母,而是其他类型的符号:svg图纸),并且能够添加一个手势识别器(点击或拖动它)并且还能够调整它的大小。我想从某个字体大小开始,然后是sizeToFit,然后能够调整该帧的大小并让字体自动决定字体大小以适应框架。
我尝试使用UILabel,但是当我使用sizeToFit时,它们会切断我的一些自定义字形(垂直),而UITextView却没有。
感谢您的帮助! :)
答案 0 :(得分:0)
我使用了来自StackOverflow aksh1t
的23621536解决方案#2在我的用法中,我从一个返回NSDictionary的API调用中设置UITextViews,然后调整字体大小以适应UITextView:
[_alertLine1TextView setText:[_alertResultsDictionary objectForKey:@"line1"]];
CGFloat fontSize = 25.0;
CGFloat minSize = 9.0;
while (fontSize > minSize && [_alertLine1TextView sizeThatFits:(CGSizeMake(_alertLine1TextView.frame.size.width, FLT_MAX))].height >= _alertLine1TextView.frame.size.height ) {
fontSize -= 1.0;
_alertLine1TextView.font = [_alertLine1TextView.font fontWithSize:fontSize];
}
在iOS 7.1.2和iOS 8.0 beta5下测试