問題タブ [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.
objective-c - カスタム UITableViewCell が正しくデキューされない
私は現在次のようにデキューしている3つのカスタム UITableViewCells を持つ UITableView を持っています:
これを複数の方法で実行しようとしましたが、問題は、tableView をスクロールすると、最初のセルが 3 番目のセルの場所に表示され、その逆の場合もあります。奇妙なキャッシングが行われているようです。
誰かが理由を知っていますか?ありがとう。
ios5 - Cell Reusable により iOS5 でデータが繰り返される
テーブル ビューにカスタム セルを使用しています。私のセルには、イメージビューとボタンがあります。3 つの画像を 1 行に表示しています。ボタンを選択すると、チェックボックスの画像が使用され、再度ボタンをタップすると、チェックボックスの画像の選択が解除されます。最初の行のボタンを選択してタブビューをスクロールすると、3行目または4行目のボタンもチェックされます。これはセルのREUSEによるものだと思います。cellForRowAtIndexPath のコードは次のとおりです。
また、ボタンとイメージビューの非表示ロジックが台無しになることもあります。データが利用可能であっても、画像ビューとボタンを非表示にします。
どんな助けでも大歓迎です.Thanks
iphone - カスタム UITable セルを一意のオブジェクト状態で構築する方法は?
したがって、ビルダーを介して定義され、nib を介して読み込まれるカスタム テーブル セルがあり (そして、その idexPath のプロパティがあります)、2 つのボタンがあります。これらのボタンの状態が動的に変更されたテーブルを表示したい。IE 1 番目のセル - 両方が有効、2 番目のセル - 両方のボタンが無効、3 番目 - 1 番目の btn が有効、2 番目の btn が無効など。
ここで、1 つの再利用識別子を使用すると、すべてのセルが同じように見えますが、これは望ましくありません。すべてのセルに独自のビューが必要です。これは、すべてのセルに一意の再利用 ID を意味します。
しかし、どうやってこれに到達するのですか?一意の cellId を作成する場合
これは文字列になるので、オブジェクトの意味で同じ文字列を作成できませんでした。同じテキストで文字列を作成できましたが、これは別のオブジェクトになるため、reuseId を介してそのような cellId で以前に作成したセルを再度取得できませんでした。したがって、1つのセルのボタンの状態を変更して更新することはできません
しかし、意志だけが機能し[tableView reloadData];
ます。
objective-c - セクションに基づいてCellReuseIdentifierを変更する
UITableViewと、さまざまなテーブルビュースタイルの.xibsがいくつかあります。各.xibには独自のクラスがあり、セクションに基づいて再利用識別子で登録されます。例:私のviewDidLoadには、次のものがあります。
これらの再利用識別子のそれぞれを、問題を発生させることなく、cellForRowAtIndexPathのセルのセクションに割り当てるにはどうすればよいですか?
ありがとう。
objective-c - UITableView 動的環境での静的セルの作成
UITableView
ユーザーの入力に基づいてセルが変化するため、現在動的になるように設定されています。一部のセルにはテキスト フィールドがあり、他のセルにはスイッチがあり、他のセルにはセグメント セレクターがあります。ここからどこから始めればよいかよくわかりません。これが私がやろうとしていることです。間違っている場合はお知らせください。最初のステップ (私が思うに) は、UITextField や UILabel などのセルに必要なオブジェクトを作成し、それをサブビューとして追加することです。それから私はそれにタグを付けます。
これは私が立ち往生しているところです。セルが再利用されるため、テキスト フィールドが他のフィールドにジャンプし、その中のテキストが消えるか、別のセルにジャンプします。これは正しいですか?
どうすればこれを行うことができますか?私は本当にここで立ち往生しているので、助けてくれてありがとう:)
返信をお楽しみに!
ios - 1つのuitableviewで異なるセルスタイルに異なる識別子を割り当てる方法は?
私は iOS 開発の新入生です。1 つの uitableview のさまざまなセクションにさまざまなセル スタイルを実装したいと考えています。私のテーブルビューには2つのセクションがあり、各セクションには3つの行があります。
再利用セルを取得するには、セルごとに異なる reuseidentifier が必要であることはわかっていますが、アプリをコンパイルすると、コンソールには常に次の情報が表示されます。
私のコードは以下の通りです:
ios - iOS:スクロールが速すぎると、UITableViewがデータを混同します
UITableViewCellをサブクラス化して、カスタムの外観を追加しました。MYTableViewCellのinitレベルで、4つのサブビュー(UIImageViewと3つのUILabel)を追加しました。4つのサブビューすべてに、異なるタグが割り当てられています。
cellForRowAtIndexPathメソッド内で、最初に使用できなかった場合は新しいセルを作成するか、使用可能なセルを再利用して適切なテキストをUIラベルに割り当てます。
私が抱えている問題は、超高速でスクロールしようとするとデータが台無しになることですが、上下にゆっくりスクロールするとすべてが正常に機能します。
何かご意見は??
以下はコードです:
uitableview - 手動で再利用された UITableViewCell が行のリロードで消えるのはなぜですか?
UITableViewCell
reuseidentifier= を ivarとして固定しnil
、特定の行に対してこのインスタンスを返し、特に を使用してこの行をリロードする[tableView reloadRowsAtIndexPaths:withRowAnimation:]
と、行の内容が消えます (または時々ちらつきます)。スクロールして戻ると、再び表示されます。逆に言えば[tableView reloadData]
消えない。
- 行をリロードすると消えるのはなぜですか?
- テーブル全体をリロードすると、なぜそうならないのですか?
サンプル プロジェクトは次のとおりです: https://github.com/hannesoid/HOTableViewTests
これを iOS 6 でテストしました。この ような方法で UITableViewCell を手動で再利用すること (reuseidentifier と dequeueing を使用しない) は通常は推奨されませんが、非常に静的なシナリオでは、物事が単純化されます。
ios - 再利用可能なセルからデキューされたときに、カスタム CollectionViewCell でトリガーされるメソッドはどれですか?
ItemCollectionViewCell
親ViewControllerのメソッドを使用して、通常どおり再利用可能なカスタムをデキューしています
しかし、私は、最初にのみ呼び出され、再利用のためにセルがデキューされたときに呼び出されないItemCollectionViewCell
メソッドを実装しました。initWithFrame
親View ControllerでItemCollectionView
呼び出した後、キューに再追加される前に内部でトリガーされるメソッドは何ですか?[collectionView dequeueReusableCellWithReuseIdentifier:@"cell" forIndexPath:indexPath]
iphone - 間違った場所にコンテンツを表示する UITableView とセル
つまり、テーブルビューの最後にまだ到達していないときに、テーブルフッタービューの「ホームに戻る」ボタンが (画面の中央に) 表示されます。最初の写真でわかるように、ホーム ボタンが画面の中央に表示されていますが、これは望ましくありません。テーブルの一番下にとどまらなければなりません。
私の 2 番目の問題は、通常はビューの上部に配置されているセグメント化されたコントロールが、属していない 1 つのセルで再発生することです。cell reusidentifier が無効になっていることを確認しました。
セルにはテキストが入力されているだけなので、セグメント化されたコントロールが表示される理由がわかりません。
編集:コードが追加されました
セルを埋めるためのコード: (その一部ですが、別のセルの別のテキストであり、何も変わりません)
フッターのコード:
}
追加コメント: セクションが 1 つしかない別のビュー (別のテーブルビュー) で同じフッターを使用していますが、ここではボタンが正しく表示されています。