問題タブ [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.

0 投票する
2 に答える
2673 参照

cocoa - NSCollectionViewItem をどのように初期化しますか?

個々の NSCollectionViewItem ビューにカスタム描画を持つ NSCollectionView をセットアップしようとしています。各ビューに描画する必要がある画像がありますが、そのビューを Interface Builder の NSCollectionViewItem サブクラスにリンクすることができません。初期化操作を実行するために、NSCollectionViewItem で使用できる init メソッドはありますか? copyWithZone を実装しようとしましたが、何か間違ったことをしていたので、永久ループが発生しました。現在、ビューへの接続を確立する唯一の機会は、-(void)setSelected:(BOOL)flag を使用して選択が変更された後です。ビューで描画を行いたいのですが、ソースとして表現されたオブジェクトからの画像が必要です。私が読んだ NSCollectionView に関連するものはすべて、一見不完全なようです。

0 投票する
1 に答える
370 参照

objective-c - OS X (>=10.6) での Twitter クライアントのような NSCollectionView 実装?

Twitterのように UITableView の動作を模倣する NSCollectionView をサブクラス化しようとしています。

私はAMCollectionViewのサブクラス化/ハックを試みてきましたが、これは「機能がはるかに少ない」ものです。AMCollectionView は不変の配列を使用してデータをアイテムに入力しましたが、私が思い描いたのは、テーブル/リストのような Twitter で、そのデータ配列は可変であり、UITableView のように挿入と削除をサポートする必要があります。

ところで、私はまだキーと値のバインディングに苦労しています。NSCollectionView の提案/解決策/サンプルコードは大歓迎です。

ありがとうございました。

0 投票する
3 に答える
2140 参照

cocoa - NSCollectionViewItemにバインドすると、Xcodeがクラッシュします

XCode 4.1を使用すると、CollectionViewを使用しようとするとクラッシュが発生します。

これらは私が行っているステップです:

  1. 新しいプロジェクトから、MainMenu.nibファイルを編集します。
  2. NSCollectionViewをウィンドウに追加します。これにより、コレクションビューアイテムも追加され、新しいビューに新しいビューが追加されます。
  3. NSTextFieldのようなコントロールを追加します
  4. コントロールを選択し、インスペクターをバインディングペインに切り替えます。
  5. コレクションビューアイテムに何かをバインドしようとしました。ドロップダウンメニューでコレクションビューアイテムを選択すると、[内部エラー]ダイアログが表示されます。このダイアログから続行しようとすると、XCodeを再起動するまでバインディングペインが非表示になります

これは他の誰かに起こりますか、それとも私が遭遇していることですか?XCodeまたはコードのいずれかでコレクションビューアイテム(最終的にはpresentedObject値にバインドしたい)にバインドできるようにする方法はありますか?

別のnibファイルを使用するカスタムNSCollectionViewItemサブクラスを作成し、それをNSCollectionViewのitemPrototypeとして設定しようとしましたが、問題が発生しました。

0 投票する
2 に答える
2496 参照

cocoa - NSCollectionViewItem サブクラスのカスタム アウトレット

これは簡単な作業だと思いますが、機能させることができないようです。カスタム アイテムを含む NSCollectionView を作成しようとしています。別の NSImageView をアイテムのカスタム ビューに追加し、この追加の NSImageView に接続されたカスタム アウトレットを追加するために、このビューをサブクラス化しました。

- (NSCollectionViewItem *)newItemForRepresentedObject:(id)objectこの NSImageView を削除する必要がある場合があるため、オーバーライドしています。

とにかく、追加のImageViewのよう(nil)です。スーパーメソッドはカスタムアウトレットを持たないデフォルトの NSCollectionViewItem を返すため、これはある程度明白です。

ここで何をするのが最善ですか?メソッドについて何か読んcopyで、試してみました:

しかし、これはうまくいきません。では、カスタム NSCollectionViewItem を使用するときにカスタム アウトレットを保持する方法はありますか?

どんな助けでも大歓迎です。ありがとうございました!

0 投票する
1 に答える
916 参照

cocoa - NSCollectionView ピンチズーム

を実装して NSCollectionView でピンチズームを取得しようとして-(void)magnifyWithEvent:(NSEvent *)eventいますが、このメソッド内で何をすべきかわかりません。でズームの量を取得して[event magnification]いますが、コレクション ビュー内のアイテムを更新する必要があります。

これを変数zoomValueに保存し、メソッドをオーバーライドして- (NSCollectionViewItem *)newItemForRepresentedObject:(id)object、各コレクションアイテムのビューのサイズを変更できると思いました(ただし、これは機能しないと思います。とにかく、「更新」をトリガーする方法がわかりませんコレクション ビューの)。

これについてのアイデアはありますか?ありがとうございました。

0 投票する
1 に答える
1447 参照

objective-c - NSCollectionViewはその内容を表示しません

私がやりたいのは、アプリケーションで単純なNSCollectionViewを作成し、それに画像を入力することです。

私はInterfaceBuilderですべてを設計/リンクし、コレクションビューに配列をロードして、インターフェイスビルダーでリンクされているビュー(nib-file)を表示しようとしましたが、運が悪かったので、遠い。コレクションビューに何かを表示させる方法はありません。

Googleで見つけた2つのガイドに従いましたが、廃止されたようです。Xcode4では機能しません。

私は必死です私を助けてください。NSCollectionViewに何かを表示させたいだけです。私はLionとxcode4.1を実行しています

0 投票する
1 に答える
681 参照

objective-c - NSCollectionView の NSPopover (またはそうでない)

NSViewで使用されるのカスタム サブクラスがありNSCollectionViewます。NSPopover以下のコードを使用してダブルクリックすると、ビューが表示されます。

popoverですIBOutlet(はい、接続されています)。

これは、ビューが通常ウィンドウに配置されている場合は正常に機能しますが、ビューがコレクション ビューにある場合は表示されません。

[popover showRelativeToRect:[self bounds] ofView:self preferredEdge:NSMaxYEdge]実際に呼び出され(ブレークポイントを設定しました)、エラーはログに記録されません。

どんなアイデアでも大歓迎です。

0 投票する
2 に答える
858 参照

objective-c - NSCollectionView の setContent: メモリ管理

同じカスタムサブクラスのすべてのオブジェクトで満たされている場所NSCollectionViewを使用して入力するがあります。コレクション ビューのアイテム プロトタイプは標準であり、サブクラス化されていません。コレクション アイテムのビューは、サブクラスのバインディングを使用して設定されます。[collectionView setContent:data];dataNSArrayNSObjectNSCollectionViewItemNSObject

問題は、ヒープショットを使用してアプリを分析すると、コレクション ビューでウィンドウを開くと、メモリが大幅に増加することがわかります。インストルメントは、このメモリの増加を[collectionView setContent:data];ラインに正確に示します。この記憶は決して取り戻されません。何か案は?

編集:次のようにデータオブジェクトにアクセスします:

0 投票する
5 に答える
3238 参照

cocoa - NSCollectionView内のビューのインデックスを取得しますか?

新しいビューベースのNSTableViewを使用してMacOSX Lion用のアプリを開発しましたが、アプリ全体をSnow Leopardに移植したいので、そのようなテーブルビューをエミュレートするための最良の方法を見つけようとしています。これまでにNSCollectionViewを作成しましたが、ボタンクリックイベントがトリガーされるビューのインデックスを取得できないという事実を除いて、すべて問題ありません。Lionには、次の機能があります。

したがって、次のようなメソッド(名前を思い出せない)を使用して、テーブルビュー内のビューのインデックスを取得できます。

aViewが送信者のスーパービューですが、コレクションビューに似たものが見つかりませんでした...唯一の「便利な」方法は次のようです。

(またはこのようなもの)、しかしこれはNSCollectionViewItemを返すので私を助けることができず、対応するビューだけを知っているのでそれにアクセスすることさえできません!

0 投票する
1 に答える
801 参照

objective-c - デザインの問題:Core Animation、NSCollectionView、NSCollectionViewItems


私はデザインの問題に苦しんでいます:私NSCollectionViewはいくつかのアイテムを含むを持っています(それNSArrayControllerはにバインドされ、次ににバインドされますNSManagedObjectContext)。NSView主に、コレクションビューに特定の数を超えるアイテムがある場合、アイテムビュー内に複数のアイテムをネストするとパフォーマンスの問題が発生することに気付いたため、プログラムで各アイテムのビューを描画することにしました。
次の階層を検討してください:NSCollectionView=> NSCollectionViewItem-> NSView。(によって使用されるデフォルトのものNSCollectionView)。私のカスタムNSViewにはいくつかのレイヤーが含まれています。いくつかはCATextLayersで、他は通常CALayerのsであり、必要なときにすべて一緒に(同じ内でCATransaction)アニメーション化します。ここでの問題は、それぞれがCALayer!を所有する...のrepresentedObjectプロパティを介してアクセスできるデータのコンテンツを表示する必要があります。私には2つのオプションがあります(おそらくもっとたくさん、私は提案を受け入れる以上のものです): -から をに複製し、プログラムの実行を通して一貫性を保ちます。私はこれが本当に好きではありません。-のs を公開し、のメソッド内からコンテンツ/文字列を設定します。(もちろん、レイヤーを通して表示されているものを除いて)に保存されたデータがないので、私はこれがより好きです。 私が間違っている?よりエレガントな解決策はありますか?NSCollectionViewItemNSView
representedObjectNSCollectionViewItemNSView
CALayerNSViewNSCollectionViewItemsetRepresentedObject:NSView

よろしくお願いします。乾杯

ジャン・マルコ