UITextViewの最初の文字はattributedTextの属性を、後続のテキストの既定の属性として使用しているようです。私はtypingAttributesを使用しようとしましたが、これは入力時にのみ機能します(貼り付けるとスペースバーをダブルタップすることはすぐに説明します)。UITextViewの既定の属性
テキストの最初の行として題名を作成してから貼り付けた場合、貼り付けられたテキストはその題名の属性になります。
ただし、テキスト(デフォルト属性)とそれに続く言葉を追加した後、貼り付けたテキストにはデフォルト属性があります。
私はあなたの言葉の後に入力しているが、スペースバーを貼り付けるかダブルタップして、最初の文字が何であっても属性を取る場合はいつでも入力するtypingAttributesをリセットしようとしました。
これを処理する方法はありますか?おそらくNSAttributedString関数をオーバーライドするか、UITextView上の/ varというメソッドが私の手助けをしていないのですか?
最初の編集:
長い
func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange,
replacementText text: String) -> Bool
の内側に1つの文字は私がfalseを返すと、テキストを自分で交換することができますよりも、だテキストをキャプチャします。
は、私はしかし、誰が正しく、それは非常に参考になる本をキャプチャする方法を知っている場合は.
に二つの空間からの変更をキャプチャしようとして立ち往生しています。
興味深いことに、私は完全に貼り付け+期間問題のダブルタップについて考えなかった!フォローアップをありがとう。適切なフォローアップでSOの回答を見ることはまれです。私はまだこの動作がiOS 11で変わったのかどうか不思議です。 – ajfigueroa
これはiOS 11に固有のものではなく、むしろレーダーの下にある問題だと私は信じています。 – Steve