問題タブ [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 に答える
175 参照

xcode - dequeueReusableCellWithIdentifier というメンバーがありません

「UITableView!, numberOfRowsInSection: int) -> Int' には 'dequeueReusableCellWithIdentifier' という名前のメンバーがありません」と言い続けます。ここに画像の説明を入力

誰かがこれを説明できれば幸いです:)

これが私の迅速なファイルです:

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

ios - 2 つの異なる注釈画像の表示

特定の「チェーン」変数に基づいて 2 種類の注釈を表示したいのですが、どうすればよいでしょうか? これは私が今持っているコードスニペットです:

ありがとう!

0 投票する
3 に答える
1088 参照

ios - セルの進行状況バーが他のセルと重複する

セルの再利用の問題があります。

私のセルはすべて同一で、セクションは 1 つだけです。セルには、ラベル、ボタン、進行状況バーが含まれます。

ボタンはサウンドをトリガーします (単純な「再生」ボタンです)。AVAudioPlayers デリゲート メソッドが呼び出されると、プログレス バーを更新audioPlayerDidFinishPlaying:する を無効にNSTimerし、プログレス バーを非表示にし、オーディオ プレーヤーも無効にします。

これはすべて、から継承するセルのクラスで発生しUITableViewCellます。

1つのことを除いて、すべてが正常に機能します。

サウンドの再生中にスクロールすると、新しいセルに同じプログレス バーが表示されます。

したがって、たとえば 2 番目のセルをタップすると、スクロール時に表示されている 2 番目の次のセルの進行状況バーが前方に移動します (サウンドが終了したら停止 + 非表示)。

カスタム セルの完全なクラスを紹介します。これがお役に立てば幸いです。これを修正する方法がよくわかりません。でifステートメントを試しましたcellForRow:が、実際の成功はありませんでした。

テーブルビュー。pushListファイル URL を含む配列です

私が達成できる最善の方法は、プログレスバーが表示されなくなったときにプログレスバーを非表示にすることでした。したがって、他のプログレスバーも表示されませんでしたが、再生中のセルに再スクロールすると、プログレスバーなしでサウンドが再生され、不十分/悪いですUX の動作。

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

uitableview - 新しいTableViewセルを追加するXcodeは新しいセルを追加しますが、削除されたセルのテキストフィールドを表示します

セルを表示するテーブルビューがあります。これらのセルの一部はトグル ボタンで削除する必要があり、一部は追加されます。

したがって、3 番目のセクションには 4 つのセルがあります。タイトルの昇順は、same?、start、end、duration です。リストの 2 番目と 3 番目のセルにはテキスト フィールドがaccesoryViewsあり、(一番上のセルにある) トグル ボタンをオフにすると両方とも削除されます。これにより、2つのセルが残ります。同じですか?私の第3セクションの持続時間。

ボタンを押すと、2 つのセルが同じセクション (セクション 3) に追加されますが、何らかの理由で、削除された 2 つのセルのテキスト フィールドがアクセサリ ビューとして表示されます。

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

ボタンが切り替えられると、次のように呼び出します。

このコードは、2 つの中央のセルを正常に削除します。

次を使用して、残りの2つの下に2つの新しいセルを追加する場合:

以下の 2 つの新しいセルが正常に追加されますが、ボットにはテキスト フィールドがあります。

アプリを実行したときの唯一の出力は、log と log2 です。

私は困惑している。

0 投票する
5 に答える
1058 参照

ios - TableView セルの再利用により、スクロール中にボタンのタイトルが変更される

名前と「フォロー」というタイトルのボタンを表示するリストがあります。ボタンをタップすると、タイトルが「フォロー解除」に変わります。ボタンをもう一度タップすると、タイトルが再び「フォロー」に変わります。これは正常に機能していますが、テーブルをスクロールすると、セルの再利用により他のセルのタイトルも変更されます。

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

セルの再利用を防ぐために何か提案してください。

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

ios - UITableView から複数の選択を削除すると、スクロール後に例外がスローされる (再利用の問題?)

テーブル ビューから複数の選択を削除しようとしています。上下にスクロールするまではすべて正常に動作しますが、クラッシュして例外がスローされます。

オブジェクトを nil にすることはできません

これは私がオブジェクトを削除する方法です:

繰り返しますが、上下にスクロールしてさらにセルを選択/選択解除しない限り、これはすべて正常に機能します。SOでセルを再利用しないと読んだため、セルをサブクラス化しました。

参考のため:

スタティック セルを使用した場合と使用しない場合で試してみました。dequeueReusableCellWithIdentifier を静的セルに設定しようとしましたが、設定しませんでした。スクロールしてもどちらも機能しません

エラーログ:


編集 だから、他の人が私にやるように言ったことを試した後、私は次のことをしました:

例外ブレークポイントを設定します。クラッシュ後に入力される行は[stringsOfObjects addObject:cell.textLabel.text];行です。

cellForRowAtIndexPathメソッドが適切に設定されていることを確認しました。

その後、オブジェクトを NSMutableArray に追加するときにまだクラッシュするので、デバッガーを調べて、ロボットが私に言及したように UITableViewCell が nil ではないことを確認しました。ここから:私の考えではそれはnilではないからです

画像1

ご覧のとおり、6 行を選択しましたが、追加されたオブジェクトは 2 つだけです。なぜこれがそれほど難しいのかわかりません。そうでないものがあるのになぜ nil なのですか? そして、スクロールしてさらに選択することなく、それらを完全に削除できるのはなぜですか?

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

ios - 異なるセクションのカスタム TableCells で繰り返されるコンテンツ

ある期間のイベントを表示する*UITableView、ある種のカレンダーがあります。各セクションは曜日で、各イベントはカスタム *UITableViewCellです。イベントは の中にあり*NSArray、日付と時刻に応じて、これらのイベントはテーブルの 1 つのセクションに割り当てられます。

セクション内の行数は問題ありませんが、セルが表示されると、一部のセルが他のセクションの他のセルでコンテンツを繰り返し始め、情報を上書きします。また、このセルには割り当てられた色があり、didSelectRowAtIndexPathクリックすると背景がその色に変わるメソッドでは、上記と同じことが起こり、他のセクションの他のセルも背景色を更新します。

それは細胞の再利用に多少関係していると思いますが、何が間違っているのかわかりません。

PD: 私は iOS を初めて使用するので、お気軽にコードの追加や修正などをお願いします。アドバイスをありがとうございます。

セクション内の行の計算を行う方法は次のとおりです

何が起こっているかのいくつかの画像:

1日目 月曜日

2日目 火曜日

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

ios - スクロール中にテーブル ビューのコンテンツが表示されない

私はテーブルビューセルを使用しており、セルに配置されたボタンをクリックするとポップアップビューを追加しています。しかし、スクロールするとテーブルビュービューのポップがセルから消えます。これが私のコードです:

ボタンアクション:

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

ios - 最初のセルの高さを再利用する 4 番目の UITableViewCell

Parse から画像を取得する TableView があります。画像の縦横比は異なります。画像の幅がユーザーのデバイスの幅に合わせて変更され、高さがアスペクト比に合わせて調整されるように設定しました。

私の問題は、アプリケーションを実行するたびに、最初の 3 つのセルは正常に実行されますが、4 番目のセルは最初のセルから高さを取得するため、画像にレター ボックス効果があることです。5 番目と 6 番目のセルなども同様です (5 番目は 2 番目の高さ、6 番目は 3 番目の高さ、7 番目は 1 番目の高さを持つ 4 番目の高さ、など)。

これを修正する最良の方法は何ですか?

これ以上のコードが必要な場合は、お知らせください。他に関連するものがあるかどうかはわかりませんでした。

TableViewController

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

swift - sizeForItemAtIndexPath の UICollectionView reuseIdentifier - 迅速な

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

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

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