2017-02-20 14 views
0

私はUITableViewを持っています。ユーザーがセルをタップすると、完了したことを示すためにグレーになります。しかし、セルが表示外にスクロールされると、表示に戻ったときにセルはデフォルトの背景色に戻り、ユーザーのやりとりが消去されます。UITableViewCellスクロールテーブルの背景色を維持します。TableCells

スクロール時にセルタップの背景色を維持する方法はありますか?

+0

をリロード 細胞を移入する。ビューをモデルから分離します。 – NSNoob

+0

'tableView.dequeueReusableCell'でセルを再利用しています。これは、スクロール/リロードに関する異なるデータを表示するために同じセルが再利用されていることを意味します。再利用されたセルがその情報を提供しない限り、それが以前に選択されたことを覚えているとはどのように思いますか? – NSNoob

+0

私はこれが問題であることを知っています。私はここで解決策を探しています... – jwarris91

答えて

-2

問題は、選択したセルをスクロールすると、選択した色が保持されないのですか?

スクロールするたびに、行デリゲートのセルが呼び出されます。したがって、行をCellで呼び出すと、delegate its changed changedが選択されました。

この状況に対処するには、tableviewセルにブール値を追加し、セルを選択するとブール値ステータスを変更します。行のためのセルで

これを追加します。

if cell.CheckBoolean == true{ 
    cell.backgroundcolor = UI.color() 
}else{ 
    cell.backgroungcolor = UI.color() 
} 

では、選択デリゲートをした:あなたのモデルクラスの状態を維持し、モデルクラスを使用することをブールの値を変更し、テーブルビュー

+0

だと思っています。 – jwarris91

+0

SahyadriChava、私はこれが解決策になることができるという希望を編集しました。 – Anuraj

関連する問題