nscollectionView as nspopupbutton“ drawer”
-
08-10-2019 - |
質問
ドックのスタックの「リストモード」に似たものが欲しいです。しかし、「引き出し」が崩壊した場合、選択したオブジェクトをまだ表示するという点で、nspopupbuttonの動作が必要です。各行には画像が含まれていて、列にテキストメッセージを送信する必要があります。
これをどのように実現しますか?たぶん、nspopupbuttonをサブクラス化して、コレクションビューを表示しますか?または、[クリック]をクリックしたときに、[Ordanary]ボタンがあり、CollectionViewを含むウィンドウを添付しますか?
ああ、この上下のバーは、サイドのスクロールバーの代わりに - それはどうですか?
解決
メニューアセンブリがサブクラス化されたnsmenu/nsmenuitemに置き換えられた通常のnspopupbuttonを使用して、あなたが望むように物事を描くのはなぜですか?すべてのスクロール動作を無料で取得します。
ただし、nscollectionViewの使用を主張する場合は、
1-メニュー以外のものをポップアップする予定がある場合は、nspopupbuttonをサブクラス化しないでください。メニューを表示するために構築されています。通常のnsbuttonを使用して、その状態(nsonstateを管理しながら、コレクションビューが表示され、それ以外の場合はnsoffstate)を手動で管理します。
2-標準のコレクションビュー /スクロールビューアセンブリを除いてスクロールバーを除いて、ボーダーレス透明なウィンドウ(オンラインで利用できる多くの例)を表示できます。ボーダーレスウィンドウは、上/下の領域をホストする可能性があります(これは、マウスを検出するためにnstrackingareasを使用した単純なビューである可能性があります)。これらの領域は、NSSSCROLLVIEWを1ミリ秒ごとに手動でスクロールして、ホバリング中にNSTIMERを使用して手動でスクロールできます。