実際の使い方がわかりませんNSScrollview
。スクロールビューオブジェクトをNSWindow
InterfaceBuilderのにドラッグしました。NSButtons
次に、いくつかをスクロールビューにドラッグしました。私の質問は:
たとえば、元の高さの2倍など、実際に下にスクロールするにはどうすればよいですか?
実際の使い方がわかりませんNSScrollview
。スクロールビューオブジェクトをNSWindow
InterfaceBuilderのにドラッグしました。NSButtons
次に、いくつかをスクロールビューにドラッグしました。私の質問は:
たとえば、元の高さの2倍など、実際に下にスクロールするにはどうすればよいですか?
もちろん、ユーザーは UI を使用して自動的にスクロールできます。あなたがしたいことは、プログラムでスクロールすることだと思います。
ちょっとした背景: にNSScrollView
はdocumentView
、スクロール ビューが一部を表示する基礎となるビューである とclipView
、画面に表示されるビューである があります。したがって、クリップ ビューは、ドキュメント ビューへのウィンドウのようなものです。プログラムでスクロールするには、ドキュメント ビューにクリップ ビュー内でスクロールするように指示します。
プログラムでスクロールする方法には、次の 2 つのオプションがあります。
- (void)scrollPoint:(NSPoint)aPoint
–– これはドキュメントをスクロールして、指定されたポイントがそれを囲むクリップ ビューの原点に来るようにします。- (BOOL)scrollRectToVisible:(NSRect)aRect
–– これにより、ドキュメントが最小距離だけスクロールされるため、長方形全体が表示されます。注: これはスクロールする必要がない場合があり、その場合は NO が返されます。たとえば、ドキュメント ビューの一番下までスクロールする方法については、Apple のScroll View Programming Guideの例を次に示します。nib ファイルで に接続されたIBOutlet
呼び出しがあると仮定すると、次のことができます。scrollView
NSScrollView
- (void)scrollToBottom
{
NSPoint newScrollOrigin;
if ([[scrollview documentView] isFlipped]) {
newScrollOrigin = NSMakePoint(0.0,NSMaxY([[scrollview documentView] frame])
-NSHeight([[scrollview contentView] bounds]));
} else {
newScrollOrigin = NSMakePoint(0.0,0.0);
}
[[scrollview documentView] scrollPoint:newScrollOrigin];
}