問題タブ [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.
cocoa - NSCollectionViewItem をどのように初期化しますか?
個々の NSCollectionViewItem ビューにカスタム描画を持つ NSCollectionView をセットアップしようとしています。各ビューに描画する必要がある画像がありますが、そのビューを Interface Builder の NSCollectionViewItem サブクラスにリンクすることができません。初期化操作を実行するために、NSCollectionViewItem で使用できる init メソッドはありますか? copyWithZone を実装しようとしましたが、何か間違ったことをしていたので、永久ループが発生しました。現在、ビューへの接続を確立する唯一の機会は、-(void)setSelected:(BOOL)flag を使用して選択が変更された後です。ビューで描画を行いたいのですが、ソースとして表現されたオブジェクトからの画像が必要です。私が読んだ NSCollectionView に関連するものはすべて、一見不完全なようです。
objective-c - OS X (>=10.6) での Twitter クライアントのような NSCollectionView 実装?
Twitterのように UITableView の動作を模倣する NSCollectionView をサブクラス化しようとしています。
私はAMCollectionViewのサブクラス化/ハックを試みてきましたが、これは「機能がはるかに少ない」ものです。AMCollectionView は不変の配列を使用してデータをアイテムに入力しましたが、私が思い描いたのは、テーブル/リストのような Twitter で、そのデータ配列は可変であり、UITableView のように挿入と削除をサポートする必要があります。
ところで、私はまだキーと値のバインディングに苦労しています。NSCollectionView の提案/解決策/サンプルコードは大歓迎です。
ありがとうございました。
cocoa - NSCollectionViewItemにバインドすると、Xcodeがクラッシュします
XCode 4.1を使用すると、CollectionViewを使用しようとするとクラッシュが発生します。
これらは私が行っているステップです:
- 新しいプロジェクトから、MainMenu.nibファイルを編集します。
- NSCollectionViewをウィンドウに追加します。これにより、コレクションビューアイテムも追加され、新しいビューに新しいビューが追加されます。
- NSTextFieldのようなコントロールを追加します
- コントロールを選択し、インスペクターをバインディングペインに切り替えます。
- コレクションビューアイテムに何かをバインドしようとしました。ドロップダウンメニューでコレクションビューアイテムを選択すると、[内部エラー]ダイアログが表示されます。このダイアログから続行しようとすると、XCodeを再起動するまでバインディングペインが非表示になります
これは他の誰かに起こりますか、それとも私が遭遇していることですか?XCodeまたはコードのいずれかでコレクションビューアイテム(最終的にはpresentedObject値にバインドしたい)にバインドできるようにする方法はありますか?
別のnibファイルを使用するカスタムNSCollectionViewItemサブクラスを作成し、それをNSCollectionViewのitemPrototypeとして設定しようとしましたが、問題が発生しました。
cocoa - NSCollectionViewItem サブクラスのカスタム アウトレット
これは簡単な作業だと思いますが、機能させることができないようです。カスタム アイテムを含む NSCollectionView を作成しようとしています。別の NSImageView をアイテムのカスタム ビューに追加し、この追加の NSImageView に接続されたカスタム アウトレットを追加するために、このビューをサブクラス化しました。
- (NSCollectionViewItem *)newItemForRepresentedObject:(id)object
この NSImageView を削除する必要がある場合があるため、オーバーライドしています。
とにかく、追加のImageViewのよう(nil)
です。スーパーメソッドはカスタムアウトレットを持たないデフォルトの NSCollectionViewItem を返すため、これはある程度明白です。
ここで何をするのが最善ですか?メソッドについて何か読んcopy
で、試してみました:
しかし、これはうまくいきません。では、カスタム NSCollectionViewItem を使用するときにカスタム アウトレットを保持する方法はありますか?
どんな助けでも大歓迎です。ありがとうございました!
cocoa - NSCollectionView ピンチズーム
を実装して NSCollectionView でピンチズームを取得しようとして-(void)magnifyWithEvent:(NSEvent *)event
いますが、このメソッド内で何をすべきかわかりません。でズームの量を取得して[event magnification]
いますが、コレクション ビュー内のアイテムを更新する必要があります。
これを変数zoomValue
に保存し、メソッドをオーバーライドして- (NSCollectionViewItem *)newItemForRepresentedObject:(id)object
、各コレクションアイテムのビューのサイズを変更できると思いました(ただし、これは機能しないと思います。とにかく、「更新」をトリガーする方法がわかりませんコレクション ビューの)。
これについてのアイデアはありますか?ありがとうございました。
objective-c - NSCollectionViewはその内容を表示しません
私がやりたいのは、アプリケーションで単純なNSCollectionViewを作成し、それに画像を入力することです。
私はInterfaceBuilderですべてを設計/リンクし、コレクションビューに配列をロードして、インターフェイスビルダーでリンクされているビュー(nib-file)を表示しようとしましたが、運が悪かったので、遠い。コレクションビューに何かを表示させる方法はありません。
Googleで見つけた2つのガイドに従いましたが、廃止されたようです。Xcode4では機能しません。
私は必死です私を助けてください。NSCollectionViewに何かを表示させたいだけです。私はLionとxcode4.1を実行しています
objective-c - NSCollectionView の NSPopover (またはそうでない)
NSView
で使用されるのカスタム サブクラスがありNSCollectionView
ます。NSPopover
以下のコードを使用してダブルクリックすると、ビューが表示されます。
popover
ですIBOutlet
(はい、接続されています)。
これは、ビューが通常ウィンドウに配置されている場合は正常に機能しますが、ビューがコレクション ビューにある場合は表示されません。
[popover showRelativeToRect:[self bounds] ofView:self preferredEdge:NSMaxYEdge]
実際に呼び出され(ブレークポイントを設定しました)、エラーはログに記録されません。
どんなアイデアでも大歓迎です。
objective-c - NSCollectionView の setContent: メモリ管理
同じカスタムサブクラスのすべてのオブジェクトで満たされている場所NSCollectionView
を使用して入力するがあります。コレクション ビューのアイテム プロトタイプは標準であり、サブクラス化されていません。コレクション アイテムのビューは、サブクラスのバインディングを使用して設定されます。[collectionView setContent:data];
data
NSArray
NSObject
NSCollectionViewItem
NSObject
問題は、ヒープショットを使用してアプリを分析すると、コレクション ビューでウィンドウを開くと、メモリが大幅に増加することがわかります。インストルメントは、このメモリの増加を[collectionView setContent:data];
ラインに正確に示します。この記憶は決して取り戻されません。何か案は?
編集:次のようにデータオブジェクトにアクセスします:
cocoa - NSCollectionView内のビューのインデックスを取得しますか?
新しいビューベースのNSTableViewを使用してMacOSX Lion用のアプリを開発しましたが、アプリ全体をSnow Leopardに移植したいので、そのようなテーブルビューをエミュレートするための最良の方法を見つけようとしています。これまでにNSCollectionViewを作成しましたが、ボタンクリックイベントがトリガーされるビューのインデックスを取得できないという事実を除いて、すべて問題ありません。Lionには、次の機能があります。
したがって、次のようなメソッド(名前を思い出せない)を使用して、テーブルビュー内のビューのインデックスを取得できます。
aViewが送信者のスーパービューですが、コレクションビューに似たものが見つかりませんでした...唯一の「便利な」方法は次のようです。
(またはこのようなもの)、しかしこれはNSCollectionViewItemを返すので私を助けることができず、対応するビューだけを知っているのでそれにアクセスすることさえできません!
objective-c - デザインの問題:Core Animation、NSCollectionView、NSCollectionViewItems
私はデザインの問題に苦しんでいます:私NSCollectionView
はいくつかのアイテムを含むを持っています(それNSArrayController
はにバインドされ、次ににバインドされますNSManagedObjectContext
)。NSView
主に、コレクションビューに特定の数を超えるアイテムがある場合、アイテムビュー内に複数のアイテムをネストするとパフォーマンスの問題が発生することに気付いたため、プログラムで各アイテムのビューを描画することにしました。
次の階層を検討してください:NSCollectionView
=> NSCollectionViewItem
-> NSView
。(によって使用されるデフォルトのものNSCollectionView
)。私のカスタムNSView
にはいくつかのレイヤーが含まれています。いくつかはCATextLayer
sで、他は通常CALayer
のsであり、必要なときにすべて一緒に(同じ内でCATransaction
)アニメーション化します。ここでの問題は、それぞれがCALayer
!を所有する...のrepresentedObject
プロパティを介してアクセスできるデータのコンテンツを表示する必要があります。私には2つのオプションがあります(おそらくもっとたくさん、私は提案を受け入れる以上のものです): -から
をに複製し、プログラムの実行を通して一貫性を保ちます。私はこれが本当に好きではありません。-のs
を公開し、のメソッド内からコンテンツ/文字列を設定します。(もちろん、レイヤーを通して表示されているものを除いて)に保存されたデータがないので、私はこれがより好きです。
私が間違っている?よりエレガントな解決策はありますか?NSCollectionViewItem
NSView
representedObject
NSCollectionViewItem
NSView
CALayer
NSView
NSCollectionViewItem
setRepresentedObject:
NSView
よろしくお願いします。乾杯
ジャン・マルコ