[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と設定している。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です