有没有办法知道字体允许的最大尺寸。
我在做
textInputTextView.font = [UIFont fontWithName:currentFontName size:doubleFontSize];
frame.size = textInputTextView.contentSize;
对于不同的字体,当 doubleFontSize 超过70时,我的内容错误。对于某些字体,当 doubleFontSize 变量只有40时,我的内容错误。
我猜 textView.font = doubleSizeFont 对于那些特定的字体来说太大了。当字体大小介于10到30之间时,一切正常。
有没有办法知道特定字体允许的最大尺寸?
详细说明:
我需要来自UITextView的图片。我正在使用 UIGraphicsGetImageFromCurrentImageContext 图片正在生成ok。但我意识到图像质量很低。所以我尝试将 TextView 框架和字体加倍。
当我用大字体写“我是个好孩子”如果好是最正确的词。我得到“我是男孩”最正确的单词好消失我在图像的右侧得到一些空白。 多么悲惨:)
答案 0 :(得分:2)
您可以使用以下代码计算内容的高度/宽度。然后调整框架大小。这里我的宽度是固定的(290)和计算高度。
CGSize strSize= [DataToBeDisplayed sizeWithFont:[UIFont systemFontOfSize:17.0] constrainedToSize:CGSizeMake(290.0,99999.0)];
frame.size.height = strSize.height
答案 1 :(得分:1)
我相信您遇到的问题是因为您使用的是 UITextView 。文本视图继承自 UIScrollView ,因此不会减小字体的大小,它只会调整其内容大小并使文本可滚动。
使用 UITextField ,它也继承自UIView(因此可以用作图像),但允许更好的控制。将其大小修改为您希望在屏幕上显示的最大值,然后使用[mylabel adjustsFontSizeToFitWidth:Y/N]
和[mylabel setminimumfontsize:somefontsize]
方法,如果输入的文本太多,则限制它。这将产生一个清晰的大字体,并在输入时动态地适应它
〜/行结束