1

NSScrollView内のNSTextViewの周りに数ピクセルのパディングを提供したいと思います。私はこの投稿を確認し、setTextContainerInsetを使用して、左、右、および下の余白を処理します。しかし、テキストがスクロールするとすぐに、一番上のバッファが失われます。textContainerOriginをオーバーライドする場合も同じです。その投稿の別の答えは次のように述べています。

テキストエディットが行う方法([ページに折り返し]モードの場合)は、テキストビューを大きなビューの内側に配置し、その大きなビューをスクロールビューのドキュメントビューとして設定することです。

しかし、それを行うと(たとえば、NSBoxを使用して)、コンテンツはスクロールしなくなります。私はその特定のトリックに関して何かが欠けていますか、それとも人々が提案できる他のテクニックはありますか?

4

2 に答える 2

1

ちなみに、私はNSClipViewをサブクラス化し、setFrame:、setFrameOrigin:、およびsetFrameSizeをオーバーライドし、これらのメソッドの原点と幅をハッキングしてパディングを追加することで、これを達成することになりました。

于 2010-11-22T11:53:00.567 に答える
1

あなたの見積もりから欠落しているように見えるステップがあります。新しいドキュメントビューがテキストビューのフレームの変更を追跡し、サイズ自体が収まるようにする必要があります。-setPostsFrameChangedNotifications:を使用してテキストビューでNSViewFrameDidChangeNotificationをオンにしてから、新しいドキュメントビューでテキストビューからの通知をリッスンすることができます。

于 2010-08-24T21:48:37.060 に答える