カスタム UITableCells を持つ UITableView があります。これらの UITableCells の内部には、UISegmentedControls があります。最初の UISegment だけの色合いを変更しようとしています。これは、UITableCell が dequeueReusableCellWithIdentifier によって再利用されるまで正しく機能します。下にスクロールすると、再利用された UITableCells が表示され始めると、最初のセグメントではなく、最後のセグメントが青色になります。cellforRowAtIndexPath の関連コードは次のとおりです。
(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
CellIdentifier = @"CustomCell";
CustomTableCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if(cell == nil) {
cell = [[CustomTableCell alloc] init];
}
[cell.segmentedControl setTintColor:GRAY_COLOR];
[[[cell.segmentedControl subviews] objectAtIndex:0] setTintColor:BLUE_COLOR];
...
return (UITableViewCell *) cell;
}
この UISegmentedControl の UISegmentedControlStyle は、問題がある場合は UISegmentedControlStyleBar です。