点击cell弹出pickerel的目前了解的方法有两种
第一种:将自定义pickerView放键盘上弹出
第二种:将自定义pickView先隐藏在屏幕下方,需要时设置动画将其弹出
这样说可能不太理解,主要说说第一种方法。介绍下inputView:显示键盘的View,如果重写这个View将不弹出键盘,弹出return的View。
第一种方法实现原理:自定义cell,将pickerView在cell中初始化,在cell.m中重写- (UIView *)inputView{}方法,return pickerView,(下图中View1为点击cell像弹出的视图,可自定义,按需求)
当点击cell调用tabelViewdelegate的- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {}方法中,将所选的cell设置为第一响应者就可以让pickerView弹出
考虑到cell的重用问题,解决方法重写cell中的- (void)prepareForReuse {}方法,在这个方法中将pickerView重新初始化,防止数据重复,也以在这个方法里处理显示数据。
优点:不用去管理pickerView的出现和隐藏
缺陷:inputView有一层灰色的背景色,不能去掉,将自定义的pickerView背景色清空可以看到。