問題タブ [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.
ios - UICollectionviewCell でデータが最初にロードされない
UIcollectionviewcell データでは、最初はセルに読み込まれませんが、セルのレイアウトが読み込まれます。最後のセルまでスクロールして戻ると、問題なくデータが正しく入力されているように見えます。json 配列からデータを取得しています。json 配列を取得した後、コレクション ビューをリロードしています。自動レイアウトのストーリーボードでプロトタイプセルを使用しています。ボタンアクションを使用してリロードを試みましたが、その場合、表示されているセルのみが更新されますフローレイアウトと水平スクロールを使用していますこれはcellforitemのコードです
ios - touchesBegin が UICollectionViewController で起動しない
私はUICollectionViewController
セルの束をレイアウトするクラスを持っています。touchesBegan
ユーザーがセルに触れたとき、最初のタッチでセルの選択が完了するまで、このメソッドを使用して新しいタッチを防止したいと考えています。
ビューコントローラーに次のコードを入れてみましたが、呼び出されません。
ただし、プロジェクトの他の場所には、のサブクラスである別のクラスがありUIViewController
ます。そこで、touchesBegan
次のコードを使用して、そのクラスのテキスト ビューのキーボードを閉じると、そのコードは問題なく呼び出されます。
このコードがあるクラスでは機能し、他のクラスでは機能しないのはなぜですか? また、コレクション ビュー セルへのタッチを検出するためにtouchesBegan
in myを使用するにはどうすればよいですか? UICollectionViewController
Swiftでの解決策をいただければ幸いです。御時間ありがとうございます!
調査: このソリューションをチェックアウトしました: UiCollectionView で Touch を処理しますか? しかし、答えは主にその特定のプロジェクトに当てはまります。
ジェスチャ認識エンジンを使用して実行しようとしましたが、ジェスチャ認識エンジンはに対してのみ起動self.collectionView?.userInteractionEnabled = false
しません。そのため、それ以上の接触を防ぐために使用できませんでした。selector.state == .Began
.Ended
私もUILongPressGestureRecognizer
同じことをしようとしましたが、そのジェスチャはコレクション ビュー セルがリッスンするデフォルトのタップ ジェスチャを妨げるため、セルの通常のタップは受信されず、セルを選択できません。
元の質問には回答していませんが、回答として回避策を投稿しました。
ios - UICollectionView とセルへのテキストの書き込み
を使用して複数列のテーブルを作成しますUICollectionView
。最初の写真のようにうまく機能します。
各行が異なるセクションを表すように作成しました。つまり、最初の行はセクション 0、2 番目の行はセクション 1 などです。
各行にテキストを書く必要があります。最初の画像のようにテキストを書くことができます。
しかし問題は、CollectionView がスクロールされると、セクション 0 (行 0) に書き込まれたテキストが、2 番目の画像に示すように別の行 (通常、スクロール前に非表示になる行) で異なる順序で繰り返されることです。
私のコードを以下にテキストで示します。
つまり、このコールバック関数はスクロール時に常に呼び出されます。
行内のテキストが別の行で繰り返されず、スクロール時に常に専用の行にとどまるのを防ぐにはどうすればよいですか。
ありがとう
ios - UICollectionViewDelegate と UICollectionViewDataSource が別々のプロトコルであるのはなぜですか?
UICollectionViewDelegate と UICollectionViewDataSource に別のクラスを実装しようとしています。ただし、セルのサイズなどの特定のデリゲート メソッドを計算するには、常にデータ モデルにアクセスする必要があるようです。
これら 2 つのプロトコルが別々のクラスに実装されているのを見たことがありません。
ios - スクロールするとアイテムが消える
プリセット、
私はcollectionViewFlowLayoutサブクラスを持っています
CollectionViewを回転させて逆さまにスクロール
ただし、サブクラス化せずにネイティブ collectionViewFlowLayout を使用しても、git this エラー
問題
チャットに 2 件以上のメッセージがありますが、一番下 (通常は一番上) にスクロールすると 2 番目の項目が消えます。
指定された rect の layoutAttributesForElementsInRect は、2 つの indexPath 0-0 と 0-1 の 2 つの属性を返しますが、デリゲート メソッド
indexPath 0-0 に対してのみ呼び出されます
画像はこちら
更新 なぜそれが起こるのかを見つけました-この行コード
変換を削除するかどうかを確認します
objective-c - UICollectionViewDelegate が、カスタム UICollectionViewCell および NSObject コントローラーを使用して UICollectionView サブクラスで起動しない
UICollectionView
そのデリゲートとデータソースをサブクラス化し、NSObject クラスに割り当てました。コレクション ビューのセルを作成するために、カスタムUICollectionViewCell
を .xib と共に使用します。プロジェクトはここにあります:
https://github.com/JeffModMed/CustomUICollectionView
ご覧のとおり、データソース メソッドは正常に動作していますがdidSelectItemAtIndexPath
、shouldSelectItemAtIndexPath
ユーザーがセルをタップしたときに呼び出されないため、UICollectionViewDelegate
. 他に考えられる唯一の問題は、カスタムUICollectionViewCell
クラスの使用方法または .xib ファイルの登録方法に問題があることです。
UICollectionViewController
注:代替手段として使用することを示唆する回答はしないでください。より大きなプロジェクトに組み込むには、この方法でコードを実行する必要があります。前もって感謝します。