gpt4 book ai didi

ios - 突出显示所选的tableViewCell以与UITextfield.text匹配

转载 作者:行者123 更新时间:2023-12-01 19:58:32 25 4
gpt4 key购买 nike

我有一个tableview的值可能是相同的。

选择单元格时,将使用选定的单元格填充文本字段值。

我只想突出显示所选的行,而不是突出显示与文本字段相同的所有值。

我目前的方法:

其中data是可能值的数组

if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:@"identifierCell"];
}

NSString *value = ([self.data objectAtIndex:indexPath.row]);
NSString *selectedValue = textField.text;

if ([value floatValue] == [selectedValue floatValue]) {
cell.backgroundColor = [UIColor colorWithRed:220.0/255.0 green:220.0/255.0 blue:220.0/255.0 alpha:1.0];
cell.textLabel.textColor = [UIColor whiteColor];
}
else {
cell.backgroundColor = [UIColor clearColor];
cell.textLabel.textColor = [UIColor blackColor];
}

旁注:我有几个下拉字段,可以根据选定的行来更改文本字段文本。 (即,如果在另一个下拉菜单中选择了第1行,那么 1.391将填充在文本字段文本中。

不知道那将有多重要。

我如何只检查选中的行并根据下面的图像填充文本字段?

enter image description here

更新:由于使用@ k06a,使用indexPath是向前迈进了一步,但是现在出现了问题,即如果选择了行A,则B的indexPath不应更改。我当时在考虑设置2个不同的indexPath变量,并且在 didSelectRowAt上仅为我要更改其他各自值的方法设置这些变量

enter image description here

最佳答案

您可以枚举循环中的所有单元格,以根据selectedValuevalue相等性选择和取消选择行。此循环将取消选择上一行,然后选择一个新行。并且不要忘记在使可重用单元出队之后设置初始状态。可以使用以下命令获取所有单元格:self.tableView.visibleCells
或者,您可以通过记住它的indexPath来取消选择它。并选择一个新的,并记住其indexPath。这是最有效的变体。

或者,您只想在想更改选择时调用[self.tableView reloadData]。这将不太有效,但会更短且更易于实现。

更新:

只是使用不同的单元格选择条件,而不是基于值,而是基于indexPath。并提醒我为什么您需要手动选择单元格?我的意思是手动选择backgroundColortextColor可以通过选择[UITableViewCell setSelected:]自动进行。

关于ios - 突出显示所选的tableViewCell以与UITextfield.text匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41006130/

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