2011-12-22 12 views

答えて

1

これについては、複数の方法がありますが、[NSClipView constrainScrollPoint:]をご覧ください。 NSClipViewサブクラスでオーバーライドされるのではなく、直接呼び出されることを意味します。 NSClipViewは、実際にNSScrollViewのコンテンツをスクロールする実際の作業を行うクラスです。

スクロールを行わない場合は、ドキュメントビューの現在の原点を返すだけでオーバーライドすることができます。これは、ユーザーが表示できるインターフェースを介したスクロールを無効にするので、ビューでコンテンツを埋めている間だけスクロールするようにしてください。それ以外の場合は、スーパークラスの実装への呼び出しの結果を返します。

+0

私があなたに教えてくれたことはありましたが、 '[NSScrollView contentView] 'を置き換えると、置き換えられないようです。私は 'NSScrollView'を拡張し、' - (id)initWithFrame:(NSRect)frameRect;をオーバーライドします。 – Dimme

+0

Interface Builderでスクロールビューを設定した場合、独自のNSClipViewサブクラスをIBでクラスを設定して使用できるはずです。これをプログラムで実行するには、カスタムクリップビューサブクラスのインスタンスで[NSScrollView setContentView:]を使用する必要があります。ドキュメントビューを正しく設定する必要があります。 –