問題タブ [nsscroller]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
objective-c - NSScrollerの長さを変更する
CocoaアプリケーションでNSScrollViewを使用していますが、水平スクローラーの長さをカスタマイズしたいと思います。スクロールビューのコンテンツは、左側の固定幅領域と右側の動的幅領域の2つの主要な領域に分割されます。左側の領域は垂直方向にのみスクロールします。ユーザーが左右にスクロールしても、ビューの左側に固定されたままになります。スクロールされているビューのスクリーンショットは次のとおりです。
http://jarodlong.com/dropbox/nsscroller_issue.png
水平スクローラーが左側の固定領域と重ならないようにします。右側の領域に限定する必要があります。
NSScrollViewをサブクラス化せずにこれを行う方法はありますか?サブクラス化する必要がないことを本当に望んでいますが、必要な場合は、サブクラス化するときに何を調べる必要がありますか?
横スクロールのフレームを設定してみましたが、NSScrollViewは常にスクローラーのサイズをエリア全体に合わせて調整していると思います。
cocoa - NSScroller の長さを変更する方法
長さを変更する API はありますか?scroller
サブクラス化せずに同じことをしたいと思いNSScroller
ます。
macos - Mac OS X Lion で細いスクロール バーを作成する方法
OSX Lion の Stickies アプリのような細いスクロール バーを作成するにはどうすればよいですか?
objective-c - Lion で NSScroller を自動的に非表示にするにはどうすればよいですか?
私の完全なカスタムビューをスクロールするために使用される NSScroller があります。[scroller setScrollerStyle:[NSScroller preferredScrollerStyle]]
スクローラーの正しいスタイルを取得します。スクローラーに がある場合、NSScrollerStyleOverlay
使用しないと自動的に非表示になると想定しました。標準の NSScrollView を使用する場合と同様です。しかし、そうではありません。常に表示されます。
スクローラーを自動的に非表示にする方法はありますか? それとも、タイマーなどでそのマニュアルを作成する必要がありますか?
macos - ユーザーがいつNSScrollViewをスクロールしたかを検出する方法
NSScrollView
がユーザー入力によってスクロールされ、ユーザー入力のみによってスクロールされたことを検出する方法を知っている人はいますか)?
私がこれをしたい理由は、NSScrollView
幅contentView
を継続的に増やしている があるからです。NSScrollView
ユーザーが contentView の右端までスクロールした場合に contentView の右端に「ロック」(つまり追跡) したいのですが、ユーザーがスクロールしたときに「ロック」を解除したい (スクロールのみ) ) 右端から離れてスクロールします。
NSViewBoundsDidChangeNotification
これを機能させるために最も近かったのは、次のように「ロック」変数を観察して変更することでした。
NSViewBoundsDidChangeNotification
ただし、境界が変更されるたびに が送信されるため、これは適切ではありませんでした。したがって、境界がcontentView
増加すると、それがNSScroller
減少しfloatValue
、私の観測メソッドが呼び出されます。を 1.0に設定しても、最初NSScroller
のが を超えるとfloatValue
0.0 にリセットされます。したがって、ユーザーがスクロールしたために送信されたのか、それとも幅が広がったために送信されたのかはわかりません。bounds.size.width
contentView
bounds.size.width
NSScrollView
NSViewBoundsDidChangeNotification
contentView
ユーザー入力を追跡し、ロック変数を更新するために、 andメソッドをサブクラスNSScroller
化して使用することを検討しました。ただし、ユーザーがトラックパッドをスワイプしてスクロールすると、これらのメソッドが呼び出されないことが懸念されます。おそらく根拠がないと思われるもう 1 つの小さな懸念は、<->関係が壊れる可能性があり、多くのスクロール機能を再実装する必要があるということです。mouseDown:
mouseDragged:
NSScrollView
NSScroller
これを行う簡単な方法を見逃しましたか?ドキュメントは常にそれを行うので、私はこれを行うことができるはずですか?サブクラス化に関する私の懸念はNSScroller
有効ですか?
macos - NSScrollerはNSViewの上に描画します
NSScrollView(NSTableViewを内部に含む)とカスタムNSViewの2つのサブビューを持つNSViewがあります。NSScrollViewの一部の上に表示するために、カスタムNSViewのサイズを変更する必要がある場合がありますが、テーブルのコンテンツをスクロールしているとき、NSScrollerはカスタムNSViewの上に描画します。それを回避する方法は?
cocoa - Cocoaでボタンのスクロールバー(ボタンバー)を作成するにはどうすればよいですか?
スクロールビュー(またはスクロール可能なボタンバーを作成するための別のソリューション)内にボタンを配置したいと思います。
ビューの上部に沿ってボタンを並べて配置しています。ユーザーがウィンドウのサイズを変更して幅を狭くすると、表示されるボタンが少なくなります。
すべてのボタンが表示されない場合でも、ユーザーがボタンを水平方向にスクロールしてすべてのボタンにアクセスできるようにしたいと思います。
これを視覚化するために、Safariで開いているタブが多すぎてウィンドウに収まらない場合を想像してみてください。ユーザーが右にスクロールして、画面に表示されていないタブを表示できるようにしたいと思います。
macos - NSTableViewHeaderView が NSScroller を描画しない
カスタム ヘッダーを描画するカスタム NSTableHeaderCell オブジェクトのカスタム NSTableHeaderView があります。私が抱えている問題は、NSScroller バーが表示されたときに、スクローラーの上に描画されたヘッダーがデフォルトであり、カスタム描画ではないことです。