私はUITableViewを持っています。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
//Where we configure the cell in each row
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell;
cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
self.myButton = [UIButton buttonWithType:UIButtonTypeCustom];
self.myButton.tag = 5;
self.myButton.frame = CGRectMake(190.0f, 5.0f, 70.0f, 25.0f);
self.myButton.layer.borderColor = [UIColor blackColor].CGColor;
self.myButton.layer.borderWidth = 0.5f;
self.myButton.backgroundColor = [UIColor grayColor];
[self.myButton setTitle:@"Set Active" forState:UIControlStateNormal];
[self.myButton addTarget:self action:@selector(myButton:) forControlEvents:UIControlEventTouchUpInside];
[cell.contentView addSubview: self.myButton];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
}
-(void) myButton:(id)sender{
[sender setBackgroundColor:[UIColor redColor]];
}
tableview セクションに 3 つの行があるとします。私は3列にボタンを持っています。最初のインスタンスでは、最初の行のボタンは赤色で、他の 2 行は灰色である必要があります。2行目のボタンを選択すると、2行目のボタンは赤になり、他の2つは灰色になります。私はそれを行う方法を考え出していません。助言がありますか?
セルから選択したボタンの色を変更できます。ただし、同時に、以前に選択したボタンと他のすべてのボタン (選択したボタンを除く) はデフォルトの色にする必要があります。一度に 1 つのボタンだけが強調表示され、そのインスタンスで常にそのボタンが選択されます。