高さが最大になったら、ユーザーが入力してスクロールするときに垂直に伸びるNSTextViewを作成しようとしています。これは、メッセージのテキスト表示に似ています。テキストビューの(スクロールビューの)高さが私のように更新されています。これは、ほとんどの作品内容に合わせてNSTextViewを拡大すると、最後のテキスト行が切り詰められる
- (void)textDidChange:(NSNotification *)notification
{
NSTextView *textView = self.textView;
NSRect usedRect = [textView.textContainer.layoutManager usedRectForTextContainer:textView.textContainer];
NSLog(@"DEBUG: used rect: %@", NSStringFromRect(usedRect));
self.textViewHeightConstraint.constant = MIN(80.f, MAX(usedRect.size.height, 30.f));
}
:
は私の最初の試みは、テキストの変更をリッスンし、NSTextViewのスクロールビューに関連付けられている高さの制約を調整するために、デリゲートを使用していますタイプは、しかし、テキストの最後の行がクリップされます。
スクロールビューは、それが最大の高さだ達し、それがうまく動作スクロールを開始したら。私は幸運と囲むスクロールビューで表示/レイアウト/制約の更新を強制しようとしました。私の推測では、スクロールビューのクリップビューが正しく更新されておらず、テキストビューの一番下が切り取られています。制約が変更されたときにクリップビュー/スクロールビューを強制的に更新する方法はありますか?
これを解決しましたか? – KVISH