3

水平方向にスクロールする大きなドキュメントを表示する NSScrollView があります。

スクロール位置を変更せずにドキュメント ビューを小さくするズーム機能があります。ただし、app kit は、ドキュメントを右にスクロールすることで、スクロールビューがドキュメントの最後に空白を表示するのを防ぎます。そうならないようにしたい。スクロールビューのサイズが変更されたスクロールビューの右端/下端にドキュメントビューの最後がくっつくのと同じメカニズムだと思います。

クリップビューがスクロールしないようにするにはどうすればよいですか? -setAutoresizeSubviews:NO (クリップ ビューで)、-setAutoresizingMask:NSViewNotSizable (ドキュメント ビューで) を試しました。サイズ変更後にドキュメントを元の位置にスクロールして戻すことで補正できますが、クリップビューが境界の四角形の原点を自動的に変更するため、サイズ変更時にビューが再描画されるのを防ぐことはできません (これにより、ドキュメントが表示が必要であることが明らかにマークされます)。したがって、ドキュメント ビューのサイズを変更すると、ドキュメント ビューに 2 つの -drawRect メッセージが送信されます (1 つはサイズを変更するとき、もう 1 つは元のスクロール位置を復元するために補正するとき)。

ご提案いただきありがとうございます。

ジャン

4

0 に答える 0