在我CollectionViewCells
的每个内部添加了UITextField
,需要从选择器视图中获取输入。
所以我在我的CellForRowAtIndexPath
中将inputView指定为pickerView。
当我运行代码时,输入视图部分为空。没有任何挑选视图。
在我的ViewController 上创建了我意识到数据源方法没有被调用。
percentagePicker
这是我的cellForRowAtIndexPath方法
cell.cropPercent.text = [NSString stringWithFormat:@"%@",cropPercentagesList[indexPath.row];
UIPickerView *pikerView = _percentagePicker;
[_percentagePicker removeFromSuperview];
pikerView.delegate =self;
pikerView.dataSource = self;
cell.cropPercent.textColor = [UIColor redColor];
cell.cropPercent.inputView = pikerView;
答案 0 :(得分:1)
不是创建UIPickerView的插座并将其分配给pickerView以显示为inputView,而只需尝试下面的代码。
UIPickerView *pikerView = [[UIPickerView alloc]init];
pikerView.delegate =self;
pikerView.dataSource = self;
cell.cropPercent.textColor = [UIColor redColor];
cell.cropPercent.inputView = pikerView;
答案 1 :(得分:0)
您应该将pickerView代码移至viewDidLoad
,因为它在viewController
中。不要创建新UIPickerView
;
- (void) viewDidLoad
{
[super viewDidLoad];
_percentagePicker.delegate =self;
_percentagePicker.dataSource = self;
}
在cellForRow
中执行此操作并删除其他UIPickerView
代码:
cell.cropPercent.inputView = pikerView;
yourPickerDataSourceArray = yourSource[indexPath.row];
[percentagePicker reloadAllComponents];