前提・実現したいこと
swift4を用い、tableviewの表示を行なっています。
cell選択時の動作として、
・背景色と文字色を変える(デフォルトのグレーではなく自分で色をそれぞれ設定したい)
・他のセルが選択された時はすでに選択されているセルの色を選択前に戻す
ということをしたいと思っています。
発生している問題・エラーメッセージ
一つのセルを選択後の文字色・背景色の変更は行えているのですが、
その状態で別セルを選択した時に、前に選択したセルの色の戻し方がわかりません。
該当のソースコード
swift
1 cell.backgroundColor = UIColor.clear 2 let selectionView = UIView() 3 selectionView.backgroundColor = UIColor(red: 218/255, green: 94/255, blue: 132/255, alpha: 1) 4 cell.selectedBackgroundView = selectionView
試したこと
背景色の変更については、調査・試行の上
上記コードが正常に動いている状況です。
また、文字色の変更については
didSelectRowAtにて上書きすることにより正常に行えています。
このdidselectRowAtに、選択状態が解除された時のプロパティなどはあるのでしょうか。
もしくは、上記以外で適切な手段がありましたらご教示いただければと思います。
補足情報(FW/ツールのバージョンなど)
swift4
その様な場合はまずドキュメントをご覧になり、使えそうなものがないか探すと良いです。XCodeで補完されるメソッドをご確認するでも良いと思います。
それらしいものが見つかったら、そのメソッドに含まれる特徴的なキーワードで検索してみると、所望のものか否かが判断できる場合があります。本当に使えるかはご自身で実装してみると良いでしょう。
一通り調査はしたのですが、別途ファイルを増やす手段しかなく、そちらはなるべく避けたかったため
上記コードにて背景色を変える要領で文字色を変えられる方法が無いかを知りたく投稿いたしました。
以後投稿の際はより詳細に記載するよう気をつけて参ります。
貴重なアドバイスありがとうございました!!
回答1件
あなたの回答
tips
プレビュー