【问题标题】:Different picker data for every cell每个单元格的不同选择器数据
【发布时间】:2016-09-02 15:27:14
【问题描述】:
我有一个带有自定义单元格的表格视图,每个单元格都包含一个文本字段。当用户点击文本字段时,将显示 UIPickerView。我已经完成了这种方法并且效果很好。问题是,选择器应该根据被点击的 textField 显示不同的数据,我该如何检测呢?
我做了什么:
- 在 viewDidLoad 中,我创建了一个包含 UIPickerView 的视图属性。
- 在 cellForRowAtIndexPath 中:我将带有选择器的视图指定为 textField 的 inputView(我这样做是为了避免每次呈现单元格时都创建选择器)
【问题讨论】:
标签:
ios
objective-c
uitableview
uitextfield
uipickerview
【解决方案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];
我希望这可以帮助别人!