可可触摸:UIPickerView viewForRow崩溃
-
20-09-2019 - |
题
我有一个UIPickerView,在它的委托我想自定义行的看法。我使用的3.1 SDK。
因此,在委托我有:
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view {
// view.backgroundColor = [UIColor redColor];
return view;
}
从苹果文档: 如果以前使用的视图(查看参数)是足够的,返回。如果返回了不同的看法,以前使用的视图被释放。选择器视图中心在矩形为排返回的视图。
当我运行此,我UIPickerView控制没有任何项目在里面,经过短暂而崩溃。 当我删除该特定的方法(这是可选的代表),我可以看到我经由titleForRow方法设置的标签,并且将不再崩溃。
我是很新,可可(可可触摸),我不知道的东西view.backgroundColor将工作,但返回未修改的旧观点(我必须为大多数行做反正),即使我崩溃应用
我是不是做错了什么?
解决方案
是,你实现的或者的–pickerView:titleForRow:forComponent:
或–pickerView:viewForRow:forComponent:reusingView:
,但不能同时使用。正在发生的事情是,因为它正在使用您的–pickerView:titleForRow:forComponent:
他并没有叫你–pickerView:viewForRow:forComponent:reusingView:
。要返回的reusingView:
参数,但是nil
第一次,因为有该行没有“先前使用的视图。”
不隶属于 StackOverflow