[swift] UITableviewのセルが再利用される際に前の画像が一瞬表示されるのを防ぐ
UITableviewのセルが再利用される際に前の画像が一瞬表示される場合がある。
動作的には問題がないが、一瞬関係のない画像が表示されるのはユーザビリティの観点からも良くないため、改善策を備忘録
UITableviewのセルが再利用される際に前の画像が一瞬表示されるのを防ぐ解決策
UITableviewのセルの画像を読み込む前に、一度対象セルの画像にnilを指定すればよい
具体的には
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: “cell”, for: indexPath)
//画像初期化
let imgView = cell.contentView.viewWithTag(1) as! UIImageView
imgView.image = nil
….
と画像にnilとセットしてから改めて画像をロードするとよい。
上記コードでは、セル名をcell、UIImageViewはセル内でtag1と設定している。