スポンサーリンク

【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関連の記事を記載しているので気になる方は是非参考にしてください。

おすすめ情報ご紹介。

下記リンクよりU-NEXTの契約をすると31日間無料でU-NEXTの全動画約21万作品を見放題です。31日期間に解約すれば0円です。今だけのおすすめ情報なのでまだ登録していない人は是非!

スポンサーリンク
Swift
スポンサーリンク
シェアする
スポンサーリンク
SunnyDayTravel-Blog

コメント

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