問題タブ [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.
ios - UICollectionView はデリゲート メソッドを呼び出さない
ストーリーボードに aをセットアップしUICollectionView
、dataSource とデリゲート アウトレットを接続しました。メソッドでデキューする nib を介してセルを登録しましたcellForItemAtIndexPath:
。
デリゲートメソッドが呼び出されないことを期待して、すべてが完全に機能します。例: セルに触れると、didSelectItemAtIndexPath:
が呼び出されることを期待しています。
コレクション ビューのデリゲートを再確認しました - 正しく割り当てられています。
メソッドが呼び出されない理由を知っている人はいますか?
ios - UICollection ビュー - セグエ - 特定のセルを選択しました LOG
カスタムメイドのフォトアルバムをロードするためにUIClllectionviewを使い始めています。アルバムは問題なくロードされ、データは私のサーバー(SQL-JSON-NSARRAY-NSDictionary)から来て、セルにうまく取り込まれていますが、今はユーザーがそのセルを選択して、その画像をフルサイズで新しい UIVIewController をロードするときにそれを希望します (表示/印刷/共有などを可能にするため)
ただし、その特定のセルから情報を引き出すことができないため、「セグエの準備」メソッドに行き詰まっています
今のテストとして、NSLOGに「ユーザーがアルバムのタイトル%@を選択しました」と言わせたいだけです
これまでの私のコードは次のとおりです。どんな助けも大歓迎です...
サーバーからのJSONデータが入ってくるのを見ることができるように、これがそれです
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 は、コンテンツに応じてスクロールを自動的に調整します。
xcode - UICollectionViewCell が表示されます/表示されましたか?
かなり単純な質問。
UICollectionViewCell オブジェクトがいつ表示されるかを知らせる通知またはデリゲート型のメソッドはありますか?
iphone - UICollectionView:フッターとヘッダーの間にスペースを追加するには?
各セクションに水平スクロールとヘッダーとフッターを備えた標準の FlowLayout クラスを使用する CollectionView があります。
フッター ビューとヘッダー ビューの間 (つまり、セクション間) はゼロ ピクセルになりました。それらの間に少しスペースを追加したいのですが、最初のセクションの上または最後のセクションの後ではありません。そのため、ヘッダー ビューとフッター ビュー自体にそのスペースを追加することはできません。
「interSectionSpacing」のようなものを期待していたでしょうが、どうやらそのような設定はありません。何か案は?
ios - プログラムで作成された UICollectionView がスクロールしない
を使用して水平ピッカーを作成していUICollectionView
ます。UIView
それは非常に簡単です:UICollectionView
プログラムで作成された A を使用UICollectionViewFlowLayout
し、1 つのセクションを使用して、スクロールを水平に設定します。画面に表示され、正しいセルに正しいデータが表示されます。しかし、スクロールはしません。実際、ユーザーの操作にはまったく反応しません。
ビューの初期化子は次のとおりです。
プログラムで に設定しようとしUserInteractionEnabled
ましYES
たが、違いはありませんでした (デフォルトUserInteractionEnabled
で に設定されているため、違いはありませんYES
)。FWIW、コレクション ビューは標準UICollectionViewCell
の を使用し、がサブビューとしてUILabel
に追加されます。contentView
これがスクロールしない理由について何か考えはありますか? ありとあらゆる助けが大歓迎です。
objective-c - UICollectionView ヘッダーが表示されない
UICollectionView
を使用して複数のアルバムを表示するプロジェクトに取り組んでいます。アイテムは問題なく表示されますが、最初のセクションの上にヘッダーを表示したいと思います。
これを行うためregisterNib:forSupplementaryViewOfKind:withReuseIdentifier:
に、 init メソッドに を追加しました。このような:
( AlbumHeader
Nib にAlbumHeader
は、 のサブクラスであるクラス のビューが含まれていますUICollectionView
。)
その後、collectionView:viewForSupplementaryElementOfKind:atIndexPath
メソッドを実装しました:
これで、ヘッダー ビューを読み込もうとするはずです。しかし、そうではありません。補足ビューのメソッドは呼び出されません。
私は何が欠けていますか?何時間も立ち往生し、s のドキュメントをUICollectionView
何度も読みましたが、何も役に立たないようです。何かご意見は?
scroll - UICollectionView の効果的なドラッグ アンド ドロップ
現在、UICollectionView を使用して UITableView の並べ替え動作を実装しようとしています。
UItableView TVとUICollectionView CVを呼び出しましょう(以下の説明を明確にするため)
基本的にテレビのドラッグ&ドロップを再現しようとしているのですが、編集モードは使っておらず、長押しジェスチャがトリガーされるとすぐにセルを移動できるようになっています。それは完全に機能します。CVの移動方法を使用しています。すべて問題ありません。
ユーザーがセルをドラッグしているときにスクロールを処理するために、CV の contentOffset プロパティを更新します。ユーザーが上下の特定の四角形に移動すると、contentOffset と CV スクロールを更新します。問題は、ユーザーが指の動きを止めると、ジェスチャーが更新を送信しないため、ユーザーが指を動かすとすぐにスクロールが停止して再開することです。
この動作は間違いなく自然ではありません。テレビの場合のように、ユーザーが CV を離すまでスクロールし続けることをお勧めします。テレビのドラッグ&ドロップ体験は素晴らしく、同じ感覚を再現したいと思っています。並べ替え中にテレビでスクロールを管理する方法を知っている人はいますか?
- ジェスチャーの位置が適切な場所にある限り、タイマーを使用して繰り返しスクロール アクションをトリガーしようとしました。
- また、GCD を使用して別のスレッドでジェスチャの位置をリッスンしようとしましたが、結果はさらに最悪です。
私はそれについて考えが尽きたので、誰かが答えを持っているなら、私は彼と結婚します!
longPress メソッドの実装は次のとおりです。
CVをスクロールさせるために、私はその方法を使用しています:
objective-c - ヘッダーが含まれている場合、UICollectionViewはアイテムをリロードしません
編集:最初の質問が間違っていたので、一部のコンテンツは少し無関係かもしれません。しかし、私が物事をしている方法のより良い印象をあなたに与えるかもしれません。
でかなり奇妙な問題が発生しましたNSFetchedResultsController
。まず、アプリの現在の状況について説明します。抽象クラスのサブクラスである複数Album
のエンティティがあります。Photo
AbstractItem
私の場合、現在のすべての'を取得するためAlbumViewController
に使用しています。このような:NSFetchedResultsController
AbstractItem
superAlbum
を選択するAlbum
と、の別のインスタンスAlbumViewController
が開始され、ナビゲーションコントローラーにプッシュされます。その場合parentAlbum
、選択したオブジェクトに設定されます。
次のコードで新しいものを追加するAlbum
と、エラーが発生します。
メソッドは、オブジェクトcontroller:didChangeObject:atIndexPath:forChangeType:newIndexPath:
のタイプで呼び出されます。その人は現在に存在していません。そのため、コレクションビューで更新しようとすると失敗します。NSFetchedResultsChangeUpdate
parentAlbum
NSFetchedResultsController
現在にないオブジェクトがNSFetchedResultsController
通知に使用される可能性はありますか?そして、どうすればこの問題を修正できますか?
編集:
質問を投稿した後、私はそれが実際にはNSFetchedResultsController
間違ったオブジェクトについて通知していないことに気づきました。ただし、前の(親)コレクションビューのオブジェクトについて通知しますが、それは独自のコレクションビューコントローラーに対して通知します。
しかし、それはただの問題かもしれません。コレクションビューコントローラは、表示されていないときに通知を受信しますが、現時点ではそれを処理できないようです。私はこのように通知を処理します:
以前は問題なく動作したと確信していました。前回のコミット以降に行われた変更を繰り返した後、再び機能するようになりました。UICollectionView
ヘッダー(補足ビュー)を削除した後、再び機能しました。
だから:UICollectionView
ヘッダーがあり、現在表示されていない場合、アイテムを更新できません。それを見つけるのは難しいものでしたが、どうすればこれを修正できますか?それは本当に奇妙な問題だと思います。
私が得るエラー:
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を試しましたが、どれも機能しません。
問題に関するスクリーンショットが添付されています。
どんな助けでも大歓迎です。