問題タブ [nscollectionview]
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 - すべての適切なメソッドが呼び出されているにもかかわらず、NSView のコンテキスト NSMenu が表示されない
の のように見えるように、垂直に積み重ねられNSCollectionView
た多数ののがあります。1 つのことを除いて、すべてが期待どおりに機能します。NSView
UIKit
UITableView
のいずれかを右クリックするとNSView
、NSMenu
設定したビューが表示されると思いますmenu
が、残念ながら何も起こりません。
クレイジーな部分は、すべての適切なメソッドが呼び出されている-rightMouseDown:
こと-menuForEvent:
です-menu
。
オブジェクトを としてセットアップすると、NSMenu
が呼び出されないため、 Apple 側で、 を要求してから実際に表示するまでの間に、何かがフェイルオーバーするように思えます。delegate
menuWillOpen:
menu
誰でもこれに光を当てることができますか?
前もって感謝します。
PS。価値があるのは、NSMenu
(Apple の右クリック処理に依存せずに) 手動で提示する方法popUpMenuPositioningItem:atLocation:inView:
が示されていることです。
編集/更新/明確化
NSCollectionView
問題は、CoverSutra/TicToc/what have youNSWindow
のように、 をクリックすると表示される の中にあります。サブクラスNSStatusItem
のコード:MyWindow
NSWindow
presentFromPoint:
は、好きな場所から表示するために使用する方法です。私の場合は のすぐ下からNSStatusItem
です。(この問題にはあまり関係ありません)
ちなみに、私のアプリケーションにはLSUIElement
がInfo.plist
設定さYES
れているため、メニュー バーや Dock アイコンは表示されません。ステータスバーにあり、NSStatusItem
クリックすると表示されるウィンドウがあります。
ビューの階層は次のとおりです。
MyWindow
=> contentView
=> NSScrollView
=>NSCollectionView
にはそのプロパティに接続されたサブクラスがあり、NSCollectionView
サブクラスにはそのプロパティに接続されたサブクラスがあります。サブクラスには、そのプロパティへの接続があります。最後になりましたが、これには 1 つがその中に座っています。NSCollectionViewItem
itemPrototype
NSCollectionViewItem
NSView
view
NSView
NSMenu
menu
NSMenu
NSMenuItem
NSCollectionViewItem
サブクラスとサブクラスはどちらもNSView
今のところ興味深いことは何もありません。それらは単なる空のサブクラスです。
のプロパティNSMenu
に接続されているNSView
のmenu
は、 を右クリックしたときに表示されるはずですがNSView
、明確にしておきたいことですが、実際には表示されません。
アップデート
この問題の原因はまだわかりNSCollectionView
ませんが、とにかく私がやろうとしていたことにはあまり適していなかったため、から「先に進む」ことにしましTDListView
た。
objective-c - NSCollectionViewItemのアイテムアウトレットのNSViewサブクラスが一貫して描画されない
私はこれをどこでも探しましたが、運がありませんでした。プロジェクトでNSCollectionViewを使用しており、アレイコントローラーを介してCoreDataにバインドしています。希望どおりに表示するために、NSViewを新しいdrawRectメソッドでサブクラス化し、これをNSCollectionViewItemのビューアウトレットに接続しました。それはすべて正しく機能し、バインディングは良好ですが、何らかの理由でコレクションビューの最初のアイテムに対してのみカスタム描画を実行します。NSCollectionViewが新しいアイテムを作成するときにペン先をコピーするという事実に関係していると思います。これが私のdrawRectです:最初にメソッド:
@終わり
何か案は?
objective-c - バインディングなしでNSCollectionViewを使用する
NSCollectionView
バインディングなしで使用する方法はありますか?
objective-c - クリック、サイズ変更などするまで NSWindow が描画されない
Interface Builder で作成された NSCollectionView を含むウィンドウがあります。CoreData バッキング ストアにバインドされた NSArrayController があります。これは、非同期要求を起動することによって起動時に設定されます。NSCollectionView の NSArrayController へのバインドなどはすべて適切に行われているようです。ただし、ウィンドウが表示され、強制的に再描画するためにウィンドウをクリックまたはサイズ変更するまで空白のままです。
目立った変化なしに私が試したことがいくつかあります。(これらは NSWindowController クラスにあります)
1) KVO を使用して、CoreData フェッチがいつ終了するかを監視します。この時点で、次のすべてを試しました。
2) NSProgressIndicator を追加し、起動時に NSCollectionView を非表示にし、ロードが完了したら (KVO の監視を通じて)、進行状況インジケーターを非表示にしてコレクション ビューを表示します。
ここで私が間違っていることについてのヒント/手がかりはありますか?
物事をギアに入れるようです。
cocoa - セクション付きのNSCollectionView-iPhotoのように
iPhoto'11に似たNSCollectionViewを作成したいと思います。複数の写真をセクションにグループ化し、セクションヘッダーも作成したいと思います。特定のセクションのセクションヘッダーは、そのセクションの最後の要素が表示されるまで常に表示されます。あなたは私が何を意味するかを見るために写真を見ることができます。
編集:内容は画像ではないことを追加する必要があります。
前もって感謝します
cocoa - NSCollectionView の内容をどのように保存しますか?
ユーザーが追加/削除できるコレクションアイテムを保持する nscollectionview があります。各コレクション アイテムは、テキスト ビューとイメージ ビューを保持します。NSSavePanel を使用して文字列をファイルに保存することはできましたが、コレクション項目を保持する配列を反復処理して配列に保存できるように、textview と imageview の内容を取得するにはどうすればよいでしょうか?
また
コレクションアイテムの内容を保存するより良い方法はありますか?
ありがとうございました
cocoa - コレクション アイテムのアウトレットにアクセスするにはどうすればよいですか?
コレクションアイテムが取り込まれる NSCollectionView があります。ビューに項目を追加するには、配列コントローラーを使用します。各アイテムには、ユーザーが自分で編集できる imageview と textview (フィールドではない) の 2 つのアウトレットがあります。各アイテムのコンテンツを plist ファイルに保存できるように、各コレクション アイテムのアウトレットにアクセスするにはどうすればよいですか?
cocoa - Cocoa Design:NSCollectionViewで従業員の現在の部門を強調表示する方法は?
多くの従業員の例のように、エントリを含むこのコアデータに裏打ちされたデータベースがあります。従業員は部門に属することができます。部門には多くの従業員がいます。私はすべての従業員を含むNSTableView(NSArrayControllerに支えられています)を持っています。選択した従業員の可能な部門を表示するNSCollectionView(selection.possibleDepartmentsに設定されたNSArrayControllerによってサポートされています)があります。
従業員が現在所属している部門を強調したい
簡単でしょ?
現在選択されている部門を知るにはどうすればよいですか?「-(BOOL)isThisTheSelectedDepartment」を持つ部門クラス(DDDepartment)のカテゴリを作成しました。この関数では、アプリデリゲートを呼び出して、メインアレイコントローラーを提供します。メインアレイコントローラーは私に選択された従業員を与えます。選ばれた従業員に、これが彼の部署かどうか尋ねます。画像はほとんどなく、その非表示のプロパティは、presentedObject.isThisTheSelectedDepartmentにバインドされ、否定されます。これはNSCollectionViewを更新しません(明らかに:P)バインディングでこれを行う方法はありますか?
ありがとう
objective-c - NSCollectionView のドラッグ アンド ドロップ: ほとんどのデリゲート イベントが呼び出されない
NSArrayController にバインドされた NSCollectionView があります。ドラッグ アンド ドロップを機能させたいので、デリゲートを作成してメソッドを実装します
2 つの BOOL メソッドに対して YES を返しています。validateDrop: メソッドに対して NSDragOperationMove を返し、namesOfPromisedFilesDroppedAtDestination: メソッドに対して空の配列を返しています。また、各メソッドの最初の行に NSLog ステートメントがあるので、メソッドがいつ呼び出されるかを確認できます。
現在、呼び出される唯一のメソッドは canDragItemsAtIndexes: (ここで YES を返します) です。呼び出されることがわかりますが、さらにドラッグすると、選択が変更されるだけです。残りは呼び出されません。
NSCollectionView で選択をサポートしないようにすると、そのメソッドでさえ呼び出されません。
非常に明白な何かが欠けていると確信していますが、それが何であるかわかりません。ドラッグ アンド ドロップで NSCollectionViews を操作した人はいますか?
objective-c - Cocoa + CoreAnimation: カスタム サブビューのアニメーション リスト
私は何週間もこれを正しくしようとしてきました。不発から多くのことを学びましたが、現時点では解決策が必要です. 問題は、Cocoa に含まれている一見オーバーラップしているグラフィックスと UI API をアンパックすることです。これらの多くは同様の効果を生み出しますが、多くの場合、実装に何時間も費やした後に初めて発見した独自の制限があります。
Cocoa は初めてですが、プログラミングは初めてです。非常にカスタマイズされた UI を備えた Mac アプリを作成しようとしています。Capo、Garageband、または Billings を考えてみてください。私のウィンドウの 1 つのビューは、サブビューの順序付けられたリストを表示します。各サブビューは多くのカスタム描画を行い、それぞれが「選択された」状態とドラッグの並べ替えをサポートする必要があります。サブビューは、スーパービューの外へのドラッグをサポートする必要はありません。
理想的には、ドラッグが起こったときにアニメーション化されたフィードバックを提供し、ツールバーのアイコンや Safari のブックマーク バーなど、隣接する兄弟ビューを押してスペースを作ります。問題は、これを正しく行うための適切なテクノロジのパックに着地できないように見えることです。サブビューを NSCollectionView の NSView サブクラスとして、またカスタム CollectionView のような NSView の CALayers として実行しましたが、どちらも完璧なソリューションを提供していないようです。とはいえ、マウスイベントの処理が優れているという点では、2 つのうち最初のオプションの方が優れているようです。
私はまだこれをTableViewとして試したことはありません。正しい軌道に乗っているという兆候がなければ、その道をたどりたくありません。大規模なグーグル検索は、CoreAnimation 対応の並べ替えまたはドラッグに関する最新のリソースがないことのみを示しています。OS X UI の標準機能として、これはもっと簡単にすべきだと思います!
この仕事に適したツールが何であるかについて、誰からの助けも大歓迎です。ティア。