5

好吧,我在几个地方进行了搜索,尽管据称有些人找到了修复程序,但它似乎不适用于我的情况。

我正在尝试像这样在程序上设置一些 UItextviews 的行高:

 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,但对于当前项目范围而言,它有点过于复杂。

希望有人能指出我正确的方向。谢谢。

4

1 回答 1

1

这是 NSHTMLWriter 中的一个已知错误,UITextView 使用它来将属性字符串转换为 HTML: http: //www.cocoanetics.com/2012/12/radar-uitextview-ignores-minimummaximum-line-height-in-attributed-细绳/

您可以使用我们在 DTCoreText 中的 UITextView 替换来正确呈现此文本:https ://github.com/Cocoanetics/DTCoreText

于 2013-01-15T06:47:55.860 回答