5

<hr>HTMLのタグのように、基本的に水平セパレーターになるNSAttributedStringを作成するにはどうすればよいですか?

私はもう試した:

NSAttributedString *hr = [[NSAttributedString alloc] initWithHTML:
  [NSData
    dataWithBytes:"<html><body><hr>hi</body></html>"
    length:strlen("<html><body><hr>hi</body></html>")]
  documentAttributes:NULL];

ただし、<hr>タグは表示されません。ただし、ビューに文字列を追加しても機能しますhi

4

3 に答える 3

1

自分で描く必要があります。<hr>テキスト、またはテキストを変更する属性ではありません。したがって、NSAttributedString はそれを表すことができず、Cocoa テキスト システムまたは CoreText にはそれを描画する機能がありません。

于 2012-07-02T22:57:45.540 に答える
1

@alasairの指示の最初のアプローチに従おうとしましたが、Swiftでこれを使用して成功しました:

let hr = NSAttributedString(string: "\n\r\u{00A0} \u{0009} \u{00A0}\n\n", attributes: [.strikethroughStyle: NSUnderlineStyle.single.rawValue, .strikethroughColor: UIColor.gray])

これにより、画面幅全体に広がる次の行がレンダリングされます。

水平線

于 2021-02-01T14:46:11.873 に答える