tableviewで指定したcellの色を変えたいです。以下の様にコードを書きました。
Swift
1 func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 2 3 4 return data.count 5 } 6 7 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 8 // セルを取得 9 let cell: UITableViewCell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) 10 print(indexPath.row) 11 //セルに表示する値を設定 12 cell.textLabel!.text = "(self.data[indexPath.row])" 13 if indexPath.row == 1{ 14 print("aaaaaa") 15 cell.backgroundColor = UIColor.red 16 } 17 18 return cell 19 }
以上の様にして1行目のみ色を変えたいのですが、これだと1行目と更に何故かいくつかの行の色が変わってしまいます。更に上から下に何度かスクロールすると更に色のついた行が増えてしまいます。
これは何故でしょう?
因みにtableviewが表示された段階でデバック用のprint("aaaaaa")は一度しか表示されないのですが、何箇所も色の変わったcellができてしまいます。また、self.data[indexPath.row]の部分でindexPath.rowを指定してリストの値にアクセスしていますが、それは問題なくできています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/21 14:04