問題タブ [nscollectionviewitem]
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 - NSCollectionView に NSPopover を表示しますか?
(注: 質問は以前にも出されており、1 年以上前に決定的ではない結果が得られました。願わくば、もう少し詳しく知り、解決できますか?)
ダブルクリックしたときに NSCollectionItem の上に NSPopover を表示しようとしています。私の NSCollectionView は正しく設定され、入力を受け取ります。
(コードをコピーして他の NSView サブクラスに貼り付けると、問題なく動作します。NSCollectionView には、混乱しているように見えるものがあります。)
コード:
BIECollectionViewItem.h
BIECollectionViewItem.m
mouseDown イベントにログステートメントを追加すると、イベントが発生していることが確認できます。しかし、NSPopover は表示を拒否します。
NSPopover を NSCollectionView の上に表示する方法を知っている人はいますか?
objective-c - NSCollectionViewItem内のボタンのアクションを設定する方法
NSCollectionViewを使用して、バインドされた配列コントローラーの画像のリストを表示していました。また、各画像の左上隅に削除ボタンを追加して、誰かがボタンを押すと、対応するオブジェクトが削除されるようにします。アレイコントローラー。
ただし、NSCollectionViewItemをカスタムクラスのサブクラスにし、削除ボタンのアクションをカスタムクラスで記述されたメソッドに設定しようとすると、次のようなエラーが報告されます。
'アクションXXX:をクラスNSCollectionViewItemのターゲットに接続できませんでした'
また、NIBファイルにアレイコントローラーオブジェクトを追加しようとして失敗しました。
すべてをOKにするにはどうすればよいですか?
objective-c - NSCollectionView でボタンがクリックされたビューのインデックスを取得します
私は持っており、そのコレクション ビューNSCollectionView
として機能するカスタム ビューを追加しています。NSCollectionViewItem
私のコレクションViewItemには、NSButton
他のさまざまな要素があります。onButtonClick
そのボタンに接続されているメソッドがあります。ここで、collectonViewItem の 5 つのアイテムを collectionView に追加するとします。ボタンがクリックされた場所からビューのインデックスを取得するにはどうすればよいですか?
内部onButtonClick
では、次のコードを試しましたが、どのボタンをクリックしても常に 0 が返されます。
これを達成する正しい方法は何ですか?
cocoa - NSArrayController selectedIndex は常にゼロです
オブジェクトの 1 つで、配列にバインドされた NSArrayController があります。NSArrayController を含む nib ファイルに追加される NSObject から継承するオブジェクトがあります。そのオブジェクトには、タイプ TextureAtlas (私が定義したタイプ) の textureAtlas というプロパティがあります。タイプ TextureAtlas は、textures と呼ばれる NSMutableArray プロパティを定義します。このテクスチャ配列にバインドしています (したがって、パスは「textureAtlas.textures」のようなものです)。
私の問題は、NSCollectionView で新しいテクスチャを選択するたびに、配列コントローラーの選択でいくつかのプロパティにバインドされている他のコントロールが変更されないことです。実際、NSArrayController の selectedIndex プロパティは常にゼロです。ただし、アトラスにテクスチャを動的に追加すると、テクスチャはコレクション ビューに正しく追加されます。コレクション ビューでテクスチャを選択できます (選択枠は、最後に選択したテクスチャの周りに正しく描画されます)。変更されないselectedIndexだけです。私は何が欠けていますか?
cocoa - NSCollectionViewItem、コンテンツに合わせたサイズ
文字列のコレクションにバインドしている NSCollectionView があります。
NSCollectionViewItem に使用しているビューは非常にシンプルで、単に NSTextField が含まれています。
NSView - NSTextField
文字列の長さは可変です。文字列の長さを考慮して、テキスト フィールド/ビューのサイズを調整する方法はありますか?
小さい文字列の場合、テキストはビューの中央に配置されます。ただし、より長い文字列の場合、テキストは切り捨てられます。
それが役立つ場合、コレクション内のすべての文字列はほぼ同じ長さになります。
objective-c - 内部アイテムに合うようにNSCollectionViewのサイズを変更しますか?
NSCollectionViewのサイズをすべてのアイテムのサイズに合わせて変更するにはどうすればよいですか?
私はそのようなことを試みました:
そして、私が得たのは恐ろしい結果だけでした:collectionViewが歪んでいました。以前は親ビューよりも小さく、それによって親ビューを埋めるように拡張されました。
注意:コレクションビューのスクロールバーを削除しました。内部アイテムはNSBoxです。
追伸:これは私がサイズ変更せずに持っているものです;
cocoa - NSCollectionViewItem のカスタム ビューのバインド
NSCollectionView
モデル オブジェクトの配列にバインドしました。コレクション ビューのアイテムをレンダリングするためのプロトタイプは、カスタムサブクラスNSView
を使用するように設定されています。NSView
実行時に、各配列要素のコレクション ビューに (ジェネリック) ビューが表示/インスタンス化されますが、すべて問題ありません。
ただし、個々のビュー インスタンスから配列オブジェクトにアクセスして、配列内の各要素に固有の実際のデータをレンダリングする方法がわかりません。つまり、コレクション ビューで「セル」を構成するために使用されるプロトタイプに
データを接続するにはどうすればよいのでしょうか。NSView
その特定のビューではアウトレットが機能しないようです。それらはすべて
nil
実行時です。バインディングはバニラでは機能しません
NSView
(バニラ ビューの非表示バインディングとツールチップバインディングは別として..) -NSView
サブクラスの IB に表示される新しいバインディングを追加することはできませんね。
どんなヒントでも大歓迎です!
objective-c - NSCollectionViewItemのrepresentedObject値を取得しますNSButtonクリック
私はいくつかの質問を読みましたが、いくつかの非常に紛らわしいものを見つけました。彼らが私の質問に答えるかどうかは本当にわかりません。
をNSCollectionView
実装して接続しましたがCore Data context
、すべてが正しく表示されます。
今私が持っているのはbuttons
にありview prototype
、このボタンをクリックするとrepresentedObject
、その複製されたビューの値を取得する必要があります。
私は読んだり読んだりしましたが、混乱する部分もあるので、簡単な説明を探しています。
お時間をいただきありがとうございます。