問題タブ [reuseidentifier]

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 に答える
1029 参照

swift - sizeForItemAtIndexPath の UICollectionView reuseIdentifier - 迅速な

画面のサイズに応じて、コレクション ビューを 1 つまたは 2 つの列に配置する次のコードがあります。

これを修正したいので、高さはreuseIdentifierに依存します。私が使用するものは2つあります-次のように設定します:

セルのタイプに応じて高さを変更できるように、現在のセルの reuseIndentifier を取得するにはどうすればよいですか?

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

ios - 各 UITableViewCell に別のビューを表示する - iOS

2 つのビューがUITableViewCellあり、各セルに別のビューを表示したい (前のセルの右側のビューがオンの場合、次のセルの左側のビューがオンになっている)。

私はそれを正常に実装しましたが、テーブルビューをスクロールすると、交互のビューが正しく機能しません。以下の例の画像:

問題の画像

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

ストーリーボードのスクリーンショット:

絵コンテ

問題はセルの再利用性にあることは知っていますが、よく検索しましたが、うまくいきませんでした。解決策を提案してください。

ありがとう!

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

ios - ラベルテキストボックス間で変更する場合は、Swiftカスタムセル

2 つのラベルとテキスト ボックスを持つカスタム セル クラスを持つテーブル ビューがあります。

結果セットはすべての行のラベルの 1 つ (名前) を表示し、2 番目のラベルまたはテキスト ボックスのいずれかを表示する if else ステートメントがあります。


label 1 label 2
joe blogs Student
road runner [TextBox]
etc...

ただし、行が画面外にスクロールされると、新しい行のラベル 2 は更新されず、古いデータが含まれますが、ラベル 1 は完璧です。


ラベル 1 ラベル 2
ジョー ブログ 学生
ロード ランナー 学生
など...

以下はコードスニペットです

リクエストに応じて 2 つのスクリーンショット

2 番目のスクリーンショットは同じ情報を示していますが、たとえば、行 (Know itall) は現金で、テキストボックスが必要ですが、最初のスクリーンショットでは正しい「学生」というラベルが付いています (いくつか表示されます)。さらに下を見ると、2番目のスクリーンショットで他の人が正しくありません)

画面からスクロールしたときにセルが再利用されることに関係していることはわかっていますが、データは更新されず、特に if/else ステートメントのデータは適切に更新/再描画されません。

私が達成しようとしていることのスクリーンショットであなたの質問/コメントをクリアしてくれることを願っています. そうでない場合は、コメントしてください。私の問題を示す別のアプローチを試してください。さらに質問がある場合は、できるだけ早く回答してください。

あらゆる支援に感謝します。

これは、最初にロードされたときの tableView であり、画面から行がスクロールされていません
これは、下にスクロールしてから上に戻るときの tableView です

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

ios - reloadRowsAtIndexPath 再利用時に別のセルを設定する

reloadRowsAtIndexPathそのセルのボタンが押されたときに使用してセルをリロードしています。次に、tableView デリゲートが 2 回呼び出されます。初めてボタンを押すと、サブビューの 1 つが削除されます。2 回目のプレスで、復元されます。を調べるcellForRowAtIndexPathと、異なるアドレスのセルを取得しています。2回目のクリック(同じアドレスのセル)で元に戻しています。セルの再利用に問題があるとは思えません。しかし、(を使用して) テーブル全体をリロードしている場合reloadData、問題はありません。