問題タブ [uicollectionview]

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 投票する
1 に答える
3707 参照

ios - UICollectionView はデリゲート メソッドを呼び出さない

ストーリーボードに aをセットアップしUICollectionView、dataSource とデリゲート アウトレットを接続しました。メソッドでデキューする nib を介してセルを登録しましたcellForItemAtIndexPath:

デリゲートメソッドが呼び出されないことを期待して、すべてが完全に機能します。例: セルに触れると、didSelectItemAtIndexPath:が呼び出されることを期待しています。

コレクション ビューのデリゲートを再確認しました - 正しく割り当てられています。

メソッドが呼び出されない理由を知っている人はいますか?

0 投票する
4 に答える
20964 参照

ios - UICollection ビュー - セグエ - 特定のセルを選択しました LOG

カスタムメイドのフォトアルバムをロードするためにUIClllectionviewを使い始めています。アルバムは問題なくロードされ、データは私のサーバー(SQL-JSON-NSARRAY-NSDictionary)から来て、セルにうまく取り込まれていますが、今はユーザーがそのセルを選択して、その画像をフルサイズで新しい UIVIewController をロードするときにそれを希望します (表示/印刷/共有などを可能にするため)

ただし、その特定のセルから情報を引き出すことができないため、「セグエの準備」メソッドに行き詰まっています

今のテストとして、NSLOGに「ユーザーがアルバムのタイトル%@を選択しました」と言わせたいだけです

これまでの私のコードは次のとおりです。どんな助けも大歓迎です...

サーバーからのJSONデータが入ってくるのを見ることができるように、これがそれです

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

objective-c - セクション インセットの設定時に FlowLayout を使用した UICollectionView がスクロールしない

プログラムで UICollectionView を使用しています。

フレームを次のように設定しました。

UICollectionViewFlowLayoutのセクションインセットは次のように設定されています:

私も1セクションしか持っていません。

コレクション ビューがスクロールするかどうかを確認するために、高さを 3,000 に設定しましたが、スクロールしません。新しいアイテムを挿入したときにコレクション ビューが上下にスクロールしないように見えるので、そのように設定しています。

UICollectionViewからサブクラス化されているUIScrollViewため、スクロール ビューのコンテンツ サイズをリセットし続けることができます。これは正しく機能しますか?

唯一の問題は、各行にいくつのアイテムがあるかなど、すべてのアイテムのサイズがわかっている場合に機能することです。

各アイテムのサイズが異なる場合、各行のサイズはどのように確認できますか? すべての行サイズを追加し、コンテンツ サイズの高さをself.collectionView.

編集

上記の私の提案であるコンテンツ サイズのリセットでさえ、正しく機能しません! コレクションビューを更新するときに、次のことを試しました。

これは非常に醜いですが。これは、すべての画像のサイズが 200x200px で、1 行あたり 3 つの画像に収まると想定しているためです (したがって、3 で除算します)。

さらに、私が持っている+300でも、最後の行は約3/4しか見えず、すべてではありません. さらにスクロールする必要があり、それを見ることができますが、再び 3/4 に戻ります。スクロールして更新するようなもので、ドラッグした場合にのみビューが移動し、離れると元の場所に戻ります。なぜこうなった?Apple の設計UICollectionViewが貧弱だっただけなのだろうか?これは少しばかげています... UITableViews は、コンテンツに応じてスクロールを自動的に調整します。

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

xcode - UICollectionViewCell が表示されます/表示されましたか?

かなり単純な質問。

UICollectionViewCell オブジェクトがいつ表示されるかを知らせる通知またはデリゲート型のメソッドはありますか?

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

iphone - UICollectionView:フッターとヘッダーの間にスペースを追加するには?

各セクションに水平スクロールとヘッダーとフッターを備えた標準の FlowLayout クラスを使用する CollectionView があります。

フッター ビューとヘッダー ビューの間 (つまり、セクション間) はゼロ ピクセルになりました。それらの間に少しスペースを追加したいのですが、最初のセクションの上または最後のセクションの後ではありません。そのため、ヘッダー ビューとフッター ビュー自体にそのスペースを追加することはできません。

「interSectionSpacing」のようなものを期待していたでしょうが、どうやらそのような設定はありません。何か案は?

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

ios - プログラムで作成された UICollectionView がスクロールしない

を使用して水平ピッカーを作成していUICollectionViewます。UIViewそれは非常に簡単です:UICollectionViewプログラムで作成された A を使用UICollectionViewFlowLayoutし、1 つのセクションを使用して、スクロールを水平に設定します。画面に表示され、正しいセルに正しいデータが表示されます。しかし、スクロールはしません。実際、ユーザーの操作にはまったく反応しません。

ビューの初期化子は次のとおりです。

プログラムで に設定しようとしUserInteractionEnabledましYESたが、違いはありませんでした (デフォルトUserInteractionEnabledで に設定されているため、違いはありませんYES)。FWIW、コレクション ビューは標準UICollectionViewCellの を使用し、がサブビューとしてUILabelに追加されます。contentView

これがスクロールしない理由について何か考えはありますか? ありとあらゆる助けが大歓迎です。

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

objective-c - UICollectionView ヘッダーが表示されない

UICollectionViewを使用して複数のアルバムを表示するプロジェクトに取り組んでいます。アイテムは問題なく表示されますが、最初のセクションの上にヘッダーを表示したいと思います。

これを行うためregisterNib:forSupplementaryViewOfKind:withReuseIdentifier:に、 init メソッドに を追加しました。このような:

( AlbumHeaderNib にAlbumHeaderは、 のサブクラスであるクラス のビューが含まれていますUICollectionView。)

その後、collectionView:viewForSupplementaryElementOfKind:atIndexPathメソッドを実装しました:

これで、ヘッダー ビューを読み込もうとするはずです。しかし、そうではありません。補足ビューのメソッドは呼び出されません。

私は何が欠けていますか?何時間も立ち往生し、s のドキュメントをUICollectionView何度も読みましたが、何も役に立たないようです。何かご意見は?

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

scroll - UICollectionView の効果的なドラッグ アンド ドロップ

現在、UICollectionView を使用して UITableView の並べ替え動作を実装しようとしています。

UItableView TVUICollectionView CVを呼び出しましょう(以下の説明を明確にするため)

基本的にテレビのドラッグ&ドロップを再現しようとしているのですが、編集モードは使っておらず、長押しジェスチャがトリガーされるとすぐにセルを移動できるようになっています。それは完全に機能します。CVの移動方法を使用しています。すべて問題ありません。

ユーザーがセルをドラッグしているときにスクロールを処理するために、CV の contentOffset プロパティを更新します。ユーザーが上下の特定の四角形に移動すると、contentOffset と CV スクロールを更新します。問題は、ユーザーが指の動きを止めると、ジェスチャーが更新を送信しないため、ユーザーが指を動かすとすぐにスクロールが停止して再開することです。

この動作は間違いなく自然ではありません。テレビの場合のように、ユーザーが CV を離すまでスクロールし続けることをお勧めします。テレビのドラッグ&ドロップ体験は素晴らしく、同じ感覚を再現したいと思っています。並べ替え中にテレビでスクロールを管理する方法を知っている人はいますか?

  • ジェスチャーの位置が適切な場所にある限り、タイマーを使用して繰り返しスクロール アクションをトリガーしようとしました。
  • また、GCD を使用して別のスレッドでジェスチャの位置をリッスンしようとしましたが、結果はさらに最悪です。

私はそれについて考えが尽きたので、誰かが答えを持っているなら、私は彼と結婚します!

longPress メソッドの実装は次のとおりです。

CVをスクロールさせるために、私はその方法を使用しています:

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

objective-c - ヘッダーが含まれている場合、UICollectionViewはアイテムをリロードしません

編集:最初の質問が間違っていたので、一部のコンテンツは少し無関係かもしれません。しかし、私が物事をしている方法のより良い印象をあなたに与えるかもしれません。

でかなり奇妙な問題が発生しましたNSFetchedResultsController。まず、アプリの現在の状況について説明します。抽象クラスのサブクラスである複数Albumのエンティティがあります。PhotoAbstractItem

私の場合、現在のすべての'を取得するためAlbumViewControllerに使用しています。このような:NSFetchedResultsControllerAbstractItemsuperAlbum

を選択するAlbumと、の別のインスタンスAlbumViewControllerが開始され、ナビゲーションコントローラーにプッシュされます。その場合parentAlbum、選択したオブジェクトに設定されます。

次のコードで新しいものを追加するAlbumと、エラーが発生します。

メソッドは、オブジェクトcontroller:didChangeObject:atIndexPath:forChangeType:newIndexPath:のタイプで呼び出されます。その人は現在に存在していません。そのため、コレクションビューで更新しようとすると失敗します。NSFetchedResultsChangeUpdateparentAlbumNSFetchedResultsController

現在にないオブジェクトがNSFetchedResultsController通知に使用される可能性はありますか?そして、どうすればこの問題を修正できますか?

編集:
質問を投稿した後、私はそれが実際にはNSFetchedResultsController間違ったオブジェクトについて通知していないことに気づきました。ただし、前の(親)コレクションビューのオブジェクトについて通知しますが、それは独自のコレクションビューコントローラーに対して通知します。

しかし、それはただの問題かもしれません。コレクションビューコントローラは、表示されていないときに通知を受信しますが、現時点ではそれを処理できないようです。私はこのように通知を処理します:

以前は問題なく動作したと確信していました。前回のコミット以降に行われた変更を繰り返した後、再び機能するようになりました。UICollectionViewヘッダー(補足ビュー)を削除した後、再び機能しました。

だから:UICollectionViewヘッダーがあり、現在表示されていない場合、アイテムを更新できません。それを見つけるのは難しいものでしたが、どうすればこれを修正できますか?それは本当に奇妙な問題だと思います。

私が得るエラー:

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

objective-c - UIImageView は、UICollectionViewCell サブクラスで範囲外の画像を表示します

画像と画像の名前を表示するには、カスタマイズした UICollectionViewCell を作成する必要があります。画像の上には、画像よりも幅と高さが 2 ピクセル大きいフレーム画像があります。ただ、どう見てもフレーム画像より画像が大きいような気がします。テーブルビューにも同じことをしましたが、完璧に機能します。

コードは次のとおりです。

UICollectionViewCell のサイズは 67 x 100 であるため、コードでは、bgImage は常に 67 x 67 であり、その原点は (0,0) であり、contentImage のフレームは (0,0,63 、63)。デバッグすると、正しいようです。ただし、conentimage は常に bgImage より大きくなります。ただし、画像の元のサイズは 80 x 80 です。cell.ContentViewまたはimageViewのいずれかでsetClipToBounds、setContentViewModeを試しましたが、どれも機能しません。

問題に関するスクリーンショットが添付されています。範囲外の UIImage ビューの画像

どんな助けでも大歓迎です。