スポンサーリンク

【Swift】TableViewドラッグで画像が繰り返し出現するのを防ぐ方法。

Swift
スポンサーリンク

今回の記事は、TableViewをドラッグしている際に下に行くほど以前出現した画像が重複して出現してくることがあります。この現象を防ぐ為の方法に関して初心者にも分かりやすいようにまとめますので是非参考にしてみてください。

スポンサーリンク

TableView画像が繰り返し出現する原因

こちらの原因はTableviewのcellの使用方法が原因です。Tableviewはcellを使い回すという操作があります。例えば見た目上見える範囲にあるTableviewのcell以外の行ではcellが再利用されていることが原因です。

図に表すと下記のようになっています。

上記の画像のように画面上で見えている範囲以外ではcellが再利用されていることがわかると思います。その為一番上の0番が見えなくなりページの見えていない範囲にスクロールすると再度、0から繰り返してcell表示されてしまします。

let cell = tableView.dequeueReusableCell(withIdentifier: "cellのidentifer", for: indexPath as IndexPath) as UITableViewCell

ここが実はcellを再利用するという内容になっております。

ではこれをどのように回避するかに関して下記で取り上げていきます。

TableView画像の繰り返し出現を回避する方法

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "cellのidentifer", for: indexPath as IndexPath) as UITableViewCell
        cell.label = nil //ラベルなら
        cell.image = nil //画像なら
        //以下コードを記載

}

tableview関数の読み込み時に初期化みたいな感じで画像などはないことを明記します。おれを行うことで下記再度載せますが画像のような再利用は起きずにTableViewを表示できます。

関数というよりは普段使っているものをよく知ることは大事だと改めて感じました。

今回の記事は以上です。他にも多数のSwift関連の記事を記載しているので気になる方は是非参考にしてください。

本記事を読んでいただき感謝です。サイトを訪れていただいた方はプログラミング勉強中かと思いますのでプログラミング勉強のコツを合わせてご紹介。

スポンサーリンク
スポンサーリンク
スポンサーリンク

ブログに関しては500円程度かかりますが、それ以外は無料です。知識の吸収と並行してアウトプットは非常に効率が良いです。テックアカデミーに関しては講座レベルが高いにも関わらず、無料体験や人気口座も大幅値下げがあるので、重点的に学びたいものを無料体験してみてください。

転職時にも、エンジニアからテックアカデミー・Paizaは認知度が高いので、未経験入社採用を行う際履歴書で目に留まります。特にPaizaのスキルレベルA・SなどはIT業界でも評価されます。

テックアカデミー・Paizaの無料登録ができる期間中にぜひご利用してみてください。私も活用経験ありです。

Swift
スポンサーリンク
スポンサーリンク

コメント

タイトルとURLをコピーしました