В iOS 7 пришло NSHTMLTextDocumentType
, которое Im использует код ниже для анализа 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;