UITextView
入力されたテキストに応じて、プログラムでサイズを大きくしようとしています。問題は、textViewDidChange:
改行文字を入力した後に何かを入力した場合にのみ改行文字を認識することです。たとえば、次のように入力しようとしています。
こんにちは、私の名前はジミーです。
これは、NSLog でこれを印刷すると得られるものですtextViewDidChange:
Log: H
Log: Hi
Log: Hi,
Log: Hi, m
Log: Hi, my
Log: Hi, my (here goes the new line, but it's not recognized)
Log: Hi, my
n (it's recognized on this line, only after something is inputted after it).
2 つの改行を入力しようとすると、最初の改行のみが認識され、2 番目の改行を入力した後にのみ認識されます。これはある種のバグですか、それとも何か不足していますか? これを修正する方法はありますか? これは、iOS 6 で正しく動作していました。
編集 - 問題をもう少し明確にするために、テキストが変更されたことが通知されます。問題は、新しいテキストが改行ではなく空の文字であることです。
編集 - 現在、UITextView の適切なサイズを見つける唯一の適切な方法はsizeThatFits:
、境界サイズを渡しながらそのメソッドを使用することです。また、UITextView
のプロポーションをプログラムで変更する場合は、自動サイズ変更マスクを削除することをお勧めします。