好吧,我曾在几个地方进行过搜索,虽然有些人据称已找到修复程序,但似乎并不适用于我的情况。
我正在尝试以程序方式设置几个UItextview的行高,如下所示:
UITextView *lab = [LocalTexts objectAtIndex:j];
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
paragraphStyle.lineHeightMultiple = 50.0f;
paragraphStyle.maximumLineHeight = 50.0f;
paragraphStyle.minimumLineHeight = 50.0f;
NSString *string = lab.text;
NSDictionary *ats = @{
NSFontAttributeName : [UIFont fontWithName:@"DIN Medium" size:16.0f],
NSParagraphStyleAttributeName : paragraphStyle,
};
lab.attributedText = [[NSAttributedString alloc] initWithString:string attributes:ats];
奇怪的是,如果我禁用NSFontAttributeName赋值,行高将也可以工作,如果我将段落样式设置为具有某个段落高度,那么总是有效,所以NSParagraphStyleAttribute不被完全忽略。我不知道这是一个错误还是我实际上做错了什么。
我尝试将其实现为纯CORE TEXT,但它对于当前的项目范围来说有点过于复杂。
希望有人能指出我正确的方向。感谢。
答案 0 :(得分:1)
这是NSHTMLWriter中的一个已知错误,UITextView使用该错误将您的属性字符串转换为HTML:http://www.cocoanetics.com/2012/12/radar-uitextview-ignores-minimummaximum-line-height-in-attributed-string/
您可以使用我们在DTCoreText中替换的UITextView来正确呈现此文本:https://github.com/Cocoanetics/DTCoreText