每个单元格的不同选择器数据

Posted

技术标签:

【中文标题】每个单元格的不同选择器数据【英文标题】:Different picker data for every cell 【发布时间】:2016-09-02 15:27:14 【问题描述】:

我有一个带有自定义单元格的表格视图,每个单元格都包含一个文本字段。当用户点击文本字段时,将显示 UIPickerView。我已经完成了这种方法并且效果很好。问题是,选择器应该根据被点击的 textField 显示不同的数据,我该如何检测呢?

我做了什么:

在 viewDidLoad 中,我创建了一个包含 UIPickerView 的视图属性。 在 cellForRowAtIndexPath 中:我将带有选择器的视图指定为 textField 的 inputView(我这样做是为了避免每次呈现单元格时都创建选择器)

【问题讨论】:

【参考方案1】:

好的,我找到了一个非常流畅的解决方案:

我禁用了每个单元格上的 textField 我停止将选取器添加为 cellForRowAtIndexPath 中的 inputView 一旦用户点击 didSelectRowAtIndexPath(当他们点击 textField 时调用),我会执行以下操作:

if ([dataInfo[indexPath.row] isEqualToString:@"Accessibility"]) 选择器项目 = 可访问性项目; else if ([dataInfo[indexPath.row] isEqualToString:@"Floor"]) 选择器物品 = 地板物品;

[picker reloadAllComponents]; SubCellTableViewCell * cell = [tableView cellForRowAtIndexPath:indexPath]; [cell.subcellSubtitleTextField setEnabled:YES]; cell.subcellSubtitleTextField.inputView = viewContainingPicker; [cell.subcellSubtitleTextField becomeFirstResponder];

我希望这可以帮助别人!

【讨论】:

以上是关于每个单元格的不同选择器数据的主要内容,如果未能解决你的问题,请参考以下文章

将选择器安排在单元格的中心

给定一个包含多个列的手动表格,每个列都使用不同的渲染器,如何在数据更新时更改单个单元格的背景颜色?

使用带有表格行与单元格的 JQuery .on 选择器

CSS表格中第一行和第一列的每个单元格的不同背景颜色

在表格视图中解析数据时获取 objectForKeyedSubscript 无法识别的选择器

ios试图让文本剪辑超出uitableview单元格的范围