問題タブ [uicollectionviewdelegate]

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

ios - ポップオーバーとして表示される uiviewcontroller の collectionview

UICollectionViewポップオーバーとして表示するビューコントローラーを取得しました。問題は、スクロール方向を水平に設定しているにもかかわらず、水平にスクロールできないことです。

シミュレーターのプリントスクリーン

バウンスのみがあります。つまり、コレクション ビューで 3 本の指でドラッグすると、右側にさらにセルが存在することがわかります。写真。

どんな提案も大歓迎です。

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

ios - UICollectionviewCell でデータが最初にロードされない

UIcollectionviewcell データでは、最初はセルに読み込まれませんが、セルのレイアウトが読み込まれます。最後のセルまでスクロールして戻ると、問題なくデータが正しく入力されているように見えます。json 配列からデータを取得しています。json 配列を取得した後、コレクション ビューをリロードしています。自動レイアウトのストーリーボードでプロトタイプセルを使用しています。ボタンアクションを使用してリロードを試みましたが、その場合、表示されているセルのみが更新されますフローレイアウトと水平スクロールを使用していますこれはcellforitemのコードです

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

ios - touchesBegin が UICollectionViewController で起動しない

私はUICollectionViewControllerセルの束をレイアウトするクラスを持っています。touchesBeganユーザーがセルに触れたとき、最初のタッチでセルの選択が完了するまで、このメソッドを使用して新しいタッチを防止したいと考えています。

ビューコントローラーに次のコードを入れてみましたが、呼び出されません。

ただし、プロジェクトの他の場所には、のサブクラスである別のクラスがありUIViewControllerます。そこで、touchesBegan次のコードを使用して、そのクラスのテキスト ビューのキーボードを閉じると、そのコードは問題なく呼び出されます。

このコードがあるクラスでは機能し、他のクラスでは機能しないのはなぜですか? また、コレクション ビュー セルへのタッチを検出するためにtouchesBeganin myを使用するにはどうすればよいですか? UICollectionViewControllerSwiftでの解決策をいただければ幸いです。御時間ありがとうございます!

調査: このソリューションをチェックアウトしました: UiCollectionView で Touch を処理しますか? しかし、答えは主にその特定のプロジェクトに当てはまります。

ジェスチャ認識エンジンを使用して実行しようとしましたが、ジェスチャ認識エンジンはに対してのみ起動self.collectionView?.userInteractionEnabled = falseしません。そのため、それ以上の接触を防ぐために使用できませんでした。selector.state == .Began.Ended

私もUILongPressGestureRecognizer同じことをしようとしましたが、そのジェスチャはコレクション ビュー セルがリッスンするデフォルトのタップ ジェスチャを妨げるため、セルの通常のタップは受信されず、セルを選択できません。

元の質問には回答していませんが、回答として回避策を投稿しました。

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

ios - UICollectionView とセルへのテキストの書き込み

を使用して複数列のテーブルを作成しますUICollectionView。最初の写真のようにうまく機能します。

各行が異なるセクションを表すように作成しました。つまり、最初の行はセクション 0、2 番目の行はセクション 1 などです。

各行にテキストを書く必要があります。最初の画像のようにテキストを書くことができます。

しかし問題は、CollectionView がスクロールされると、セクション 0 (行 0) に書き込まれたテキストが、2 番目の画像に示すように別の行 (通常、スクロール前に非表示になる行) で異なる順序で繰り返されることです。

私のコードを以下にテキストで示します。

つまり、このコールバック関数はスクロール時に常に呼び出されます。

行内のテキストが別の行で繰り返されず、スクロール時に常に専用の行にとどまるのを防ぐにはどうすればよいですか。

ありがとう

ここに画像の説明を入力

ここに画像の説明を入力

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

ios - UICollectionViewDelegate と UICollectionViewDataSource が別々のプロトコルであるのはなぜですか?

UICollectionViewDelegate と UICollectionViewDataSource に別のクラスを実装しようとしています。ただし、セルのサイズなどの特定のデリゲート メソッドを計算するには、常にデータ モデルにアクセスする必要があるようです。

これら 2 つのプロトコルが別々のクラスに実装されているのを見たことがありません。

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

ios - スクロールするとアイテムが消える

プリセット、

私はcollectionViewFlowLayoutサブクラスを持っています

CollectionViewを回転させて逆さまにスクロール

ただし、サブクラス化せずにネイティブ collectionViewFlowLayout を使用しても、git this エラー

問題

チャットに 2 件以上のメッセージがありますが、一番下 (通常は一番上) にスクロールすると 2 番目の項目が消えます。

指定された rect の layoutAttributesForElementsInRect は、2 つの indexPath 0-0 と 0-1 の 2 つの属性を返しますが、デリゲート メソッド

indexPath 0-0 に対してのみ呼び出されます

画像はこちら

トップスクロール ここに画像の説明を入力

更新 なぜそれが起こるのかを見つけました-この行コード

変換を削除するかどうかを確認します

ここに画像の説明を入力

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

objective-c - UICollectionViewDelegate が、カスタム UICollectionViewCell および NSObject コントローラーを使用して UICollectionView サブクラスで起動しない

UICollectionViewそのデリゲートとデータソースをサブクラス化し、NSObject クラスに割り当てました。コレクション ビューのセルを作成するために、カスタムUICollectionViewCellを .xib と共に使用します。プロジェクトはここにあります: https://github.com/JeffModMed/CustomUICollectionView

ご覧のとおり、データソース メソッドは正常に動作していますがdidSelectItemAtIndexPathshouldSelectItemAtIndexPathユーザーがセルをタップしたときに呼び出されないため、UICollectionViewDelegate. 他に考えられる唯一の問題は、カスタムUICollectionViewCellクラスの使用方法または .xib ファイルの登録方法に問題があることです。

UICollectionViewController注:代替手段として使用することを示唆する回答はしないでください。より大きなプロジェクトに組み込むには、この方法でコードを実行する必要があります。前もって感謝します。