0

ウィンドウにNSTextViewオブジェクトがあります。解決する必要のある2つの問題があります。

1)NSTextViewのコンテンツは、設定した異なるNSString間で変更されます。テキストを少し大きくしたいのですが、アプリを初期化するとコンテンツが表示されなくなります。渡されたすべての文字列がサイズを大きくできるように設定するにはどうすればよいですか。ありがとう

2)ユーザーがコンテンツを編集できるようにしたくないのですが、インスペクターで[編集可能]のチェックを外すと、コード内でNSTextViewのコンテンツを自分で変更できなくなります。コンテンツが変更されても、ユーザーがコンテンツを編集できないようにするにはどうすればよいですか?ありがとう!

4

1 に答える 1

1

のインスタンスを使用NSAttributedStringして、テキストビューのコンテンツを設定します。特定のフォントサイズを使用するように属性付き文字列を設定できます。これを行うときは、アプリケーションコントローラーの-awakeFromNibメソッドで実行して、アプリケーションの起動時にコンテンツがないという問題に対処します。

「編集可能」フラグをリセットした場合でも、テキストビューのコンテンツを変更できます。これは、ユーザーがコンテンツを変更することを禁止するだけです。プログラムでコンテンツを実際に変更してみましたか?

編集

以下は、属性付き文字列の使用例です。このテーマに関するAppleのドキュメントは、それを非常にうまくカバーしています。ARCを使用していない場合は、attrString終了したら必ずリリースしてください(または自動リリースしてください)。

NSFont *font = [NSFont fontWithName:@"Helvetica" size:24.0];
NSDictionary *attributes = [NSDictionary dictionaryWithObject:font forKey:NSFontAttributeName];
NSAttributedString *attrString = [[NSAttributedString alloc] initWithString:@"this is Helvetica at 24 points" attributes:attributes];

[[[self textView] textStorage] appendAttributedString:attrString];
于 2013-02-14T18:56:46.857 に答える