gpt4 book ai didi

ios - NSHTML TextDocument 类型的项目符号点间距和换行起始位置

转载 作者:技术小花猫 更新时间:2023-10-29 11:07:37 27 4
gpt4 key购买 nike

随着 iOS 7 出现 NSHTMLTextDocumentType,我使用下面的代码解析 html 并将其显示在 UITextView 中。它完美地工作,除了要点。

我怎样才能同时改变项目符号两边的间距(之间的空间项目符号和 UItextView 左边框以及项目符号之间的空间以及右边的文字)?

此外,更重要的是。如果文本在下一行继续,我还需要它在相同的 x 位置继续,就像它上面的项目符号文本开始的那一行一样。我怎样才能做到这一点?(第二行缩进)

我尝试过使用各种 css,但似乎 NSHTMLTextDocumentType 仍然相当有限。我所做的只是更改列表的颜色。

感谢所有帮助。

提前致谢!

代码:

_textView.textContainer.lineBreakMode = NSLineBreakByCharWrapping;

NSString *testText = @"<p><b>This is a test with:</b></p><ul><li>test test test
test test test test test test test test test test <li>test test test test test
test <li>test test test test test <li>test test test test test test test test
test test test test <li>test test test test test test test test <li>test test
test test test test <li>test test test test test test test test test
</li></ul>";

NSDictionary *options = @{NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType};
NSData *htmlData = [testText dataUsingEncoding:NSUnicodeStringEncoding];

_attributedString = [[NSMutableAttributedString alloc] initWithData:htmlData
options:options documentAttributes:nil error:nil];

// Paragraph style
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
paragraphStyle.paragraphSpacing = 0;
paragraphStyle.lineHeightMultiple = 1.0f;
paragraphStyle.maximumLineHeight = 30.0f;
paragraphStyle.minimumLineHeight = 20.0f;

// Adding attributes to attributedString
[_attributedString addAttributes:@{NSParagraphStyleAttributeName:paragraphStyle}
range:NSMakeRange(0,_attributedString.length)];
[_attributedString addAttributes:@{NSFontAttributeName:font}
range:NSMakeRange(0,_attributedString.length)];

// Setting the attributed text
_textView.attributedText = _attributedString;

最佳答案

你应该能够停止一个可变的 paragraphStyle 然后设置它的缩进,比如:

NSMutableParagraphStyle *const bulletParagraphStyle = [paragraphStyle mutableCopy];
bulletParagraphStyle.firstLineHeadIndent = 20;
bulletParagraphStyle.tailIndent =20;

然后仅在包含要点的文本范围内设置此段落样式。

(尝试从 HTML 开始会有点笨拙,我认为:如果您想继续使用该路线,可以将其分成两个 HTML 字符串,一个是项目符号列表,一个用于 header ,因此您可以更轻松地设置不同的属性。)

关于ios - NSHTML TextDocument 类型的项目符号点间距和换行起始位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19723074/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com