【发布时间】:2023-03-07 18:36:01
【问题描述】:
我有一个表视图,其值可能相同。
选择单元格时,文本字段值将填充所选单元格。
我只想突出显示选择的行,而不是突出显示与文本字段相同的所有值。
我目前的做法:
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 将填充到文本字段文本中。
不确定这会有多相关。
如何只检查被选中的行并根据下图填充文本字段?
更新:感谢@k06a,使用 indexPath 向前迈进了一步,但是现在出现的问题是,如果选择了行 A,B 的 indexPath 不应该改变。我正在考虑设置 2 个不同的 indexPath 变量,并且在 didSelectRowAt 上只为我调用的方法设置这些变量以更改其他相应的值
【问题讨论】:
-
您可以通过
UITableViewsallowsMultipleSelection属性实现多个单元格选择。
标签: ios objective-c uitableview