AddressBook の連絡先を表示する UITableView があります。複数選択編集スタイルを有効にしています。tableView を表示すると、意図したとおりに機能します。ユーザーが行をタップすると、セルの左側にある赤いチェックマークが入力されます。すばらしい。
これらの選択内容を、表示中のビュー コントローラーの配列プロパティに保存します。テーブルを再度表示するとき、これらのセルが選択されたままになるようにします (つまり、青色のハイライトではなく、赤色のチェック マークがまだ塗りつぶされているだけです)。cellForRowAtIndexPath: そのインデックス パスにあるセルのオブジェクトを取得し、表示中のビュー コントローラーの配列にそのオブジェクトが含まれているかどうかをテストし、含まれている場合は[cell setSelected:YES];
これにより、ユーザーがセルに触れたときと同じ選択された外観になるはずです (赤いチェックマークのみ)。代わりに、赤いチェックが塗りつぶされますが、セルが一時的に青く強調表示され、テキストが永久に白くなり、連絡先の名前が消えたような印象を与えます. 役に立ったら喜んでコードを投稿しますが、これは誰かがよく知っている UITableView の癖のように思えますか? 編集:この画像は、私が持っている(そして欲しい)チェックマークの種類を示しています。[cell setSelected:YES]; を呼び出すと、なぜつなぎ合わせることができません。タッチに反応する場合とは異なる動作をします。ここに表示されているのは、[cell setSelected:YES]; を呼び出した後です。そして、それはほとんど私が望むように見えますが、名前は消えてしまいました. そして、私はしません