每个单元格的不同选择器数据
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];
我希望这可以帮助别人!
【讨论】:
以上是关于每个单元格的不同选择器数据的主要内容,如果未能解决你的问题,请参考以下文章
给定一个包含多个列的手动表格,每个列都使用不同的渲染器,如何在数据更新时更改单个单元格的背景颜色?