gpt4 book ai didi

iphone - 根据选择更改 UITableViewCell 中按钮的背景颜色

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:15:18 26 4
gpt4 key购买 nike

我有一个 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 行的按钮。首先,第一行的按钮应该是红色,其他两行应该是灰色。如果我选择第二行的按钮,那么第二行的按钮应该是红色的,另外两个是灰色的,依此类推。我还没想出办法。有什么建议吗?

我可以更改从单元格中选择的按钮的颜色。但在同一情况下,先前选择的按钮和所有其他按钮(所选按钮除外)应该是默认颜色。一次只会突出显示一个按钮,并且该按钮始终是该实例中的选定按钮。

最佳答案

我认为这样做的正确方法 - 子类 UITableViewCell 并声明自己的协议(protocol),该协议(protocol)将通知委托(delegate)人按下了哪个单元格按钮,并且在委托(delegate)人中 - 遍历所有单元格并设置默认颜色所有和红色的颜色选择。我做了 demo project

关于iphone - 根据选择更改 UITableViewCell 中按钮的背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15369615/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com