3つのセクションがあるテーブルがあります。セクションごとに4つの行があります。テーブル全体で3つの選択を行う、セクションごとに1つの選択が必要です。現在のセクションをリセットし、新しい選択を設定する次の関数を使用してこれを実行しようとしています。
- (void)selectOneRow:(int)row inSection:(int)section
{
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:row inSection:section];
for(int i = 0; i < [[self.dataSource objectAtIndex:section] count]; ++i) {
NSIndexPath *ip = [NSIndexPath indexPathForRow:i inSection:section];
[self.table deselectRowAtIndexPath:ip animated:NO];
//[[self.table cellForRowAtIndexPath:ip] setHighlighted:NO];
}
[self.table selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionNone];
//[[self.table cellForRowAtIndexPath:indexPath] setHighlighted:YES];
[self disableInteractionForRow:row inSection:section];
}
- (void)disableInteractionForRow:(int)row inSection:(int)section
{
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:row inSection:section];
for(int i = 0; i < [[self.dataSource objectAtIndex:section] count]; ++i) {
NSIndexPath *ip = [NSIndexPath indexPathForRow:i inSection:section];
[[self.table cellForRowAtIndexPath:ip] setUserInteractionEnabled:YES];
}
[[self.table cellForRowAtIndexPath:indexPath] setUserInteractionEnabled:NO];
}
最初のセクションの最初の行を選択する例は次のとおりです。
[self selectOneRow:0 inSection:0];
これは最初はうまく機能しますが、その後は毎回行がオフになり、セクションが空白のままになります。どうすればこれを修正できますか?それとも、そもそもこれをすべて間違っているのでしょうか?助けてくれてありがとう。
**画像の追加を編集**