1
NSScrollView
の自動スクロールを無効にするにはどうすればいいですか?NSScrollViewは自動スクロールを無効にします
私は自分のクラスでサブクラス化しましたが、オーバーライドする適切なメソッドが見つかりません。
NSScrollView
の自動スクロールを無効にするにはどうすればいいですか?NSScrollViewは自動スクロールを無効にします
私は自分のクラスでサブクラス化しましたが、オーバーライドする適切なメソッドが見つかりません。
これについては、複数の方法がありますが、[NSClipView constrainScrollPoint:]をご覧ください。 NSClipViewサブクラスでオーバーライドされるのではなく、直接呼び出されることを意味します。 NSClipViewは、実際にNSScrollViewのコンテンツをスクロールする実際の作業を行うクラスです。
スクロールを行わない場合は、ドキュメントビューの現在の原点を返すだけでオーバーライドすることができます。これは、ユーザーが表示できるインターフェースを介したスクロールを無効にするので、ビューでコンテンツを埋めている間だけスクロールするようにしてください。それ以外の場合は、スーパークラスの実装への呼び出しの結果を返します。
私があなたに教えてくれたことはありましたが、 '[NSScrollView contentView] 'を置き換えると、置き換えられないようです。私は 'NSScrollView'を拡張し、' - (id)initWithFrame:(NSRect)frameRect;をオーバーライドします。 – Dimme
Interface Builderでスクロールビューを設定した場合、独自のNSClipViewサブクラスをIBでクラスを設定して使用できるはずです。これをプログラムで実行するには、カスタムクリップビューサブクラスのインスタンスで[NSScrollView setContentView:]を使用する必要があります。ドキュメントビューを正しく設定する必要があります。 –