0

断面表から選択したセルのインデックス番号を取得したいのですが。テーブルビューを標準からセクションに切り替えるオプションをユーザーに提供します。標準ビューの場合、この行で選択したインデックスを取得します

NSString *myIndex = [NSString stringWithFormat:@"%d", inedxPath.row];

セクション化されたTableViewで同じ文字列を取得するにはどうすればよいですか?

私はいじっています

NSString *myIndex = [NSString stringWithFormat:@"%d", indexPath.Section inedxPath.row];

...それが理にかなっていることを願っています..Thx...??????

コンテキスト:インデックス番号を辞書に保存し、ユーザーがテーブルビューに戻ったときに、選択したセルの製品名のテキストの色を灰色に変更して、アプリが以前に選択したものを思い出させる必要があります...これを行うには、すべてを保存します選択した製品のインデックス番号とそれらが戻ってきたときに、リスト内のインデックスのみのテキストの色を変更します。それがお役に立てば幸いです。 mySectionedTable

そしてもう一度感謝します

4

1 に答える 1

0

indexPath オブジェクト自体を辞書ではなく配列に格納します。次に、tableView:cellForRowAtIndexPath: メソッドで if 句を使用して、配列に indexPath が含まれているかどうかをテストし、含まれている場合は、そのセルのテキストを灰色にします。

編集後:

indexPathArray という名前の変更可能な配列を作成する場合は、 didSelectRowAtIndexPath: メソッドに、indexPath を配列に入れる行を追加します。

[self.indexPathArray addObject:indexPath];

tableView:cellForRowAtIndexPath: メソッドで、次のコードを追加して、選択したセルを灰色にします。

if ([self.indexPathArray containsObject:indexPath]) 
        cell.textLabel.textColor = [UIColor grayColor];

このコードは、textLabel のテキスト値を設定する場所の上に配置します。アプリで他に何が起こっているかによって、おそらく [self.tableView reloadData] 行を viewDidAppear メソッドに追加して、テーブル ビューが更新され、灰色のテキストが表示されるようにする必要があります。

于 2012-10-17T19:11:08.667 に答える